# Pluscare

A web app designed to make health monitoring simpler. Each user gets at least one wearable medical device (like a smartwatch or a smart scale), and all the collected data gets crunched into easy-to-read reports.

### Key Features

- **Wearable Integration** — Sync data from smartwatches, scales, and other gadgets
- **Smart Reports** — Stats, trends, and insights in one place
- **Reminders & Alerts** — Scheduled reminders and threshold-based alerts
- **Care Team Notifications** — If something's off, the right people get alerted

Built for patients who want to stay on track and caregivers who need real-time updates.

---

## Tech stack

A modern web application built with **Laravel**, **Inertia.js**, **React**, **TailwindCSS**, **TypeScript**, and **MySQL**.

- **Laravel Sail** — local development
- **Laravel Breeze** — auth scaffolding
- **Shadcn UI** — UI components
- **Laravel Queues** — asynchronous tasks

---

## Getting started

### 0. Enable git hooks (one-time, per clone)

```bash
composer hooks:install
```

### 1. Clone and start Sail

```bash
git clone git@github.com:Cplussrl/pluscare.git
cd pluscare
cp .env.example .env
./vendor/bin/sail up -d
```

### 2. Install dependencies

```bash
./vendor/bin/sail composer install
./vendor/bin/sail npm install
```

### 3. Set up the app

```bash
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate --seed
```

### 4. Start dev server

```bash
./vendor/bin/sail npm run dev
```

### 5. Start queue worker

```bash
./vendor/bin/sail artisan queue:work
```

App: http://localhost — login with `test@example.com` / `password`.

For Adminer, Mailpit, and full setup details, see [docs/development.md](docs/development.md).

---

## Documentation

| Topic                                         | Document                                                                       |
|-----------------------------------------------|--------------------------------------------------------------------------------|
| Business logic (roles, entities, permissions) | [docs/business-logic.md](docs/business-logic.md)                               |
| Development (setup, tests, CI, deployment)    | [docs/development.md](docs/development.md)                                     |
| Reminders                                     | [docs/features/reminders.md](docs/features/reminders.md)                       |
| Withings integration                          | [docs/features/withings-integration.md](docs/features/withings-integration.md) |
| Notifications (email, WhatsApp, CTA)          | [docs/features/notifications.md](docs/features/notifications.md)               |
| Audit logs                                    | [docs/features/audit-logs.md](docs/features/audit-logs.md)                     |
| Two-factor authentication                     | [docs/features/two-factor-auth.md](docs/features/two-factor-auth.md)           |
| Meet integration                              | [docs/features/meet-integration.md](docs/features/meet-integration.md)         |
| Contributing & PR conventions                 | [CONTRIBUTING.md](CONTRIBUTING.md)                                             |

When you change business logic or a feature, update the corresponding doc in the same PR. See the [Documentation section in CONTRIBUTING.md](CONTRIBUTING.md#documentation).

---

## Support

For bugs, feature requests, or contributions, please open an issue or PR on GitHub.
