The specialized online consultation platform for physiotherapists
Table of Contents
- Overview
- Features
- Project Structure
- Local Deployment
- Project Roadmap
- Contributing
- License
- Acknowledgments
Fisio Find is a specialized online consultation platform designed to connect physiotherapists with patients. The platform streamlines the process of finding and booking physiotherapy services, while providing professionals with tools to manage their practice efficiently.
-
π Appointment Management
- Interactive calendar system
- Automated scheduling
- Reminder notifications
- Real-time availability updates
-
π» Virtual Consultations
- High-quality video calls
- Secure chat system
- File sharing capabilities
- Session recording options
-
π° Payment Integration
- Secure payment processing
- Multiple payment methods
- Automated invoicing
- Subscription management
-
π Professional Tools
- Patient record management
- Treatment tracking
- Progress reports
- Easy-to-use upload video interface
βββ FISIOFIND/
βββ .github
β βββ ISSUE_TEMPLATE
β βββ PULL_REQUEST_TEMPLATE.md
β βββ workflows
βββ README.md
βββ backend
β βββ .env.example
β βββ fisio_find
β β βββ appointment
β β βββ appointment_rating
β β βββ files
β β βββ fisio_find
β β βββ gestion_survey
β β βββ guest_session
β β βββ payment
β β β βββ management/commands
β β β βββ utils
β β βββ questionnaire
β β βββ ratings
β β βββ terms
β β βββ treatments
β β β βββ management/commands
β β βββ users
β β βββ videocall
β βββ requirements.txt
β βββ run-backend.ps1
βββ docs
β βββ .DS_Store
β βββ .backgrounds
β βββ .img
β βββ 01_organization
β βββ 02_planification
β βββ 03_reports
β βββ 04_monitoring
β βββ 05_knowledge_base
β βββ 06_terms
β βββ Devising a Project
β βββ SPRINT 1
β βββ SPRINT 2
β βββ build-pdf-examples.sh
β βββ eisvogel.latex
β βββ templates
βββ frontend
βββ README.md
βββ app
β βββ account/delete/confirm/[token]
β βββ advanced-search
β βββ appointments/create/[id]
β βββ confirm-alternative/[token]
β βββ confirm-appointment/[token]
β βββ login
β βββ logout
β βββ modelo
β βββ my-appointments
β βββ patient-management
β β βββ follow-up
β β β βββ [id]
β β β β βββ files
β β β β βββ sessions
β β β β β βββ [sessionId]
β β β β βββ videos
β β βββ profile
β βββ permissions-error
β βββ physio-management
β β βββ [id]/exercises
β β βββ balance
β β βββ follow-up
β β β βββ [id]
β β β β βββ files
β β β β βββ sessions
β β β β β βββ [sessionId]
β β β β βββ videos
β β β βββ components
β β βββ profile
β βββ questionnaires
β βββ register
β β βββ patient
β β βββ physio
β β βββ verified/[token]
β βββ terms
β βββ unsubscribe
β βββ videocalls
β β βββ [roomCode]
β β βββ css
β β βββ end
β β βββ hooks
β β βββ tools
β β β βββ body-highlighter
β β β β βββ assests
β β βββ βββ βββ components
β βββ globals.css
β βββ layout.tsx
β βββ not-found.tsx
β βββ page.tsx
βββ components
β βββ ui
βββ context
βββ lib
βββ public
β βββ images
β βββ pdfs/06_terms
βββ services
βββ static
β βββ images
β β βββ body-regions
β βββ βββ exercise-types
βββ utils
FISIOFIND/
-
.github
- ISSUE_TEMPLATE β Plantillas para crear incidencias
- PULL_REQUEST_TEMPLATE.md β Plantilla para solicitudes de extracciΓ³n
- workflows β ConfiguraciΓ³n de flujos de trabajo para GitHub Actions
- README.md β DocumentaciΓ³n principal del proyecto
-
backend
- .env.example β Archivo de entorno de ejemplo
-
fisio_find
- appointment β GestiΓ³n de citas
- appointment_rating β Valoraciones de citas
- files β GestiΓ³n de archivos
- fisio_find β ConfiguraciΓ³n principal del proyecto Django
- gestion_survey β GestiΓ³n de encuestas
- guest_session β Sesiones de invitados
-
payment
- management/commands β Comandos personalizados
- utils β Utilidades del mΓ³dulo de pagos
- questionnaire β Cuestionarios
- ratings β Valoraciones generales
- terms β TΓ©rminos y condiciones
-
treatments
- management/commands β Comandos personalizados
- users β GestiΓ³n de usuarios
- videocall β Videollamadas
- requirements.txt β Dependencias del backend
- run-backend.ps1 β Script de ejecuciΓ³n del backend
-
docs
- .DS_Store β Archivo interno de macOS
- .backgrounds β Recursos visuales
- .img β ImΓ‘genes de documentaciΓ³n
- 01_organization β OrganizaciΓ³n del proyecto
- 02_planification β PlanificaciΓ³n
- 03_reports β Informes
- 04_monitoring β Monitoreo
- 05_knowledge_base β Base de conocimiento
- 06_terms β TΓ©rminos documentados
- Devising a Project β DiseΓ±o del proyecto
- SPRINT 1 β DocumentaciΓ³n del Sprint 1
- SPRINT 2 β DocumentaciΓ³n del Sprint 2
- build-pdf-examples.sh β GeneraciΓ³n de PDFs
- eisvogel.latex β Plantilla LaTeX
- templates β Plantillas de documentaciΓ³n
-
frontend
- README.md β DocumentaciΓ³n del frontend
-
app
- account β GestiΓ³n de cuentas
- advanced-search β BΓΊsqueda avanzada
- appointments β GestiΓ³n de citas
- confirm-alternative β ConfirmaciΓ³n alternativa
- confirm-appointment β ConfirmaciΓ³n de citas
- login β Inicio de sesiΓ³n
- logout β Cierre de sesiΓ³n
- modelo β Modelo anatΓ³mico
- my-appointments β Mis citas
Before getting started with FISIOFIND, ensure your runtime environment meets the following requirements:
- Programming Language: Python
- Package Manager: Npm, Pip
- Database: Postrgres
Install FISIOFIND using one of the following methods:
- Clone the FISIOFIND repository:
β― git clone https://github.com/Proyecto-ISPP/FISIOFIND
- Navigate to the project directory:
β― cd FISIOFIND
- Install the project dependencies:
First, create and activate a Python virtual environment in the backend directory:
β― cd backend
β― python -m venv venv
β― source venv/bin/activate
Then we proceed to install the dependencies:
β― pip install -r requirements.txt
We now install the frontend framework dependencies in the frontend
directory:
β― cd ../fronend
β― npm install
To set up the database for FISIOFIND, follow these steps:
-
Create the Database:
Ensure you have PostgreSQL installed and running. Then, create a new database named
fisiofind
:β― psql -U postgres postgres=# CREATE DATABASE fisiofind; postgres=# \q
-
Configure Environment Variables:
Copy the
.env.example
file to create a new.env
file in thebackend
directory:β― cd backend β― cp .env.example .env
Open the
.env
file and update the database configuration with your PostgreSQL credentials:DATABASE_NAME=fisiofind DATABASE_USER=your_postgres_user DATABASE_PASSWORD=your_postgres_password DATABASE_HOST=localhost DATABASE_PORT=5432
Replace
your_postgres_user
andyour_postgres_password
with your actual PostgreSQL username and password. -
Apply Migrations:
With the virtual environment activated, apply the database migrations to set up the initial schema:
β― python manage.py makemigrations β― python manage.py migrate
-
Create a Superuser:
Create a superuser account to access the Django admin panel:
β― python manage.py createsuperuser
Follow the prompts to set up the superuser credentials.
Once these steps are completed, your database should be set up and ready for use with FISIOFIND.
The first time the project is locally deployed, we need to create a .env filed in the backend
directory according to the .env.example
file.
To run the backend server, follow these steps on the backend
directory and with the venv activated:
β― cd .\fisio_find
β― python .\manage.py makemigrations
β― python .\manage.py migrate
β― python .\manage.py runserver
Additionaly, the first time the project is locally deployed, we need to create a superuser to access the admin panel:
β― python.\manage.py createsuperuser
After the local backend server is running, we can run the frontend server in a new terminal window:
β― cd ../../fronted
β― npm run dev
-
Core-1
:Team training and onboarding completed. -
Core-2
:Basic user management system implemented. -
Core-3
:Core use cases functionality implemented. -
Core-4
:Aesthetic and accessible landing page deployed.
-
Tools-1
:Payment and monetization system developed. -
Tools-2
:Physiotherapist tools implemented.
-
Extra-1
:Additional application features developed. -
Extra-2
:User support tools implemented. -
Extra-3
:Comprehensive application testing completed.
-
Extra-4
:Patient history management implemented. -
Extra-5
:Chatbot implemented.
For the techniacal pilot users or any other interested contributor:
π Report Issues: Submit bugs found or log feature requests for the FISIOFIND
project.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/Proyecto-ISPP/FISIOFIND
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b feature/new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Feat: Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is protected under the MIT License License. For more details, refer to the LICENSE file.
We would like to express our gratitude to the three great teams that have made this project possible:
Alberto Carmona |
Daniel Alors |
Daniel FernΓ‘ndez |
Daniel Ruiz |
Pablo FernΓ‘ndez |
Rafael Pulido |
Antonio MacΓas |
BenjamΓn Maureira |
DelfΓn Santana |
Guadalupe Ridruejo |
Julen Redondo |
RamΓ³n Gavira |
Daniel Tortorici |
Daniel Vela |
Miguel Encina |
Francisco Capote |
Francisco Mateos |