A system supporting the work of a dentist.
- Patient can
- set main dentist in settings
- change email or password
- view own appointments
- create appointments for main dentist
- create appointments for other dentists if dentist allowed for this
- edit or cancel appointment
- export appointments of invoice to PDF or XML
- Dentist can
- link/unlink patients
- view own appointments
- create appointments for linked patients
- edit or cancel/uncancel appointments
- create and edit patients
- create/link/remove services (conditionally)
- export appointments of invoice to PDF or XML
- Admin can
- fully manage users
- fully manager services
- Light/Dark theme (with auto detect)
- Install .NET 5.0 SDK
- Install Node.js
- Install Yarn
- Open terminal windows in
backend
directory - Run backend by command
dotnet run -p ToothSoupAPI.csproj
- Open new terminal windows in
frontend
directory - Install dependencies by command
yarn
- After installation run command
yarn run dev
- Open listening URL (by default http://localhost:3000/)
Role | Password | |
---|---|---|
Patient | patient1@qwe.pl | qwe |
Patient | patient2@qwe.pl | qwe |
Patient | patient3@qwe.pl | qwe |
Dentist | dentist1@qwe.pl | qwe |
Dentist | dentist2@qwe.pl | qwe |
Dentist | dentist3@qwe.pl | qwe |
Admin | admin1@qwe.pl | qwe |
Action | Guest | Patient | Dentist | Admin |
---|---|---|---|---|
Login as anyone | ✔ | ❌ | ❌ | ❌ |
Register as patient | ✔ | ❌ | ❌ | ❌ |
Home page | ✔ | ✔ | ✔ | ✔ |
--- | --- | --- | --- | --- |
My account page | ❌ | ✔ | ✔ | ❌ |
Edit my email | - | ✔ | ✔ | - |
Edit my password | - | ✔ | ✔ | - |
Edit linked dentist | - | ✔ | ❌ | - |
Edit linking agreement | - | ❌ | ✔ | - |
Edit unlinked appointments | - | ❌ | ✔ | - |
--- | --- | --- | --- | --- |
Patient list page | ❌ | ❌ | ✔ | ❌ |
List my patients | - | - | ✔ | - |
Create patient | - | - | ✔ | - |
Link patient | - | - | ✔ | - |
Unlink patient | - | - | ✔ | - |
Edit linked patient | - | - | ✔ | - |
Remove patient | - | - | ❌ | - |
--- | --- | --- | --- | --- |
Appointment list page | ❌ | ✔ | ✔ | ❌ |
List my appointments | - | ✔ | ✔ | - |
Create appointment | - | ✔ | ✔ | - |
Cancel appointment | - | ✔ | ✔ | - |
Uncancel appointment | - | ❌ | ✔ | - |
Edit active appointment | - | ✔ | ✔ | - |
Edit canceled appointment | - | ❌ | ✔ | - |
Edit past appointment | - | ❌ | ✔ | - |
Remove appointment | - | ❌ | ✔ | - |
Export appointments in PDF | - | ✔ | ✔ | - |
Export appointments in XML | - | ✔ | ✔ | - |
Export invoice in PDF | - | ✔ | ✔ | - |
--- | --- | --- | --- | --- |
User list page | ❌ | ❌ | ❌ | ✔ |
Create any user | - | - | - | ✔ |
Edit any user | - | - | - | ✔ |
Remove any user | - | - | - | ✔ |
--- | --- | --- | --- | --- |
Service list page | ❌ | ❌ | ✔ | ✔ |
Create service | - | - | ✔ | ✔ |
Link service | - | - | ✔ | ❌ |
Unlink service | - | - | ✔ | ❌ |
Edit only my service | - | - | ✔ | ❌ |
Edit any service | - | - | ❌ | ✔ |
Remove only my service | - | - | ✔ | ❌ |
Remove any service | - | - | ❌ | ✔ |
By default project uses InMemory
database with provided seed that populates all the tables with example values. Database configuration can be defined in Startup.cs
file. Seed is defined in Seed/DatabaseSeed.cs
and enabled in Database.cs
with SeedData.Seed()
method.
--- | --- |
---|---|