You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# PsyCare
A Symfony 6.4 web application for private messaging between patients and psychologists, with an admin back office.
## Features
- Two account types: `ROLE_PATIENT`, `ROLE_PSYCHOLOGIST`, and `ROLE_ADMIN`.
- Registration, login, profile consultation and edit.
- Messaging with conversation view, reply support and soft delete.
- Search psychologists by name or specialty.
- Admin dashboard to manage users and view all messages.
- Server-side validation with Symfony Validator.
- Doctrine ORM with migrations and fixtures.
## Setup
1. Clone the repository.
2. Copy `.env` or create `.env.local` with your `DATABASE_URL`.
3. Install dependencies:
```bash
composer install
```
4. Create the database and run migrations:
```bash
php bin/console doctrine:migrations:migrate
```
5. Load fixtures:
```bash
php bin/console doctrine:fixtures:load --no-interaction
```
6. Run the Symfony local server or use your web server:
```bash
symfony server:start
```
## Demo accounts
- Admin: `admin@example.com` / `admin`
- Psychologist: `psy1@example.com` / `psychologist`
- Patient: `patient1@example.com` / `patient`
## Demo scenario
1. A patient logs in with `patient1@example.com` and searches psychologists by specialty.
2. The patient sends a message to a psychologist.
3. The psychologist logs in, opens the conversation, and replies.
4. The admin logs in, views the user list, deactivates accounts, and checks all messages.
## Important routes
- `/login` - Login page.
- `/register/patient` - Patient registration.
- `/register/psychologist` - Psychologist registration.
- `/dashboard` - User dashboard.
- `/messages` - Conversations list.
- `/messages/new/{psychologistId}` - Send a new message.
- `/admin/dashboard` - Admin overview.
- `/admin/users` - User management.
- `/admin/messages` - All messages.
## Notes
This application is built without FOSUserBundle or admin bundles, using custom controllers, forms, and security logic.
# adam