Proyecto-ISPP / FISIOFIND

Fisio Find: The specialized online consultation platform for physiotherapists

Home Page:https://fisiofind.com

Repository from Github https://github.comProyecto-ISPP/FISIOFINDRepository from Github https://github.comProyecto-ISPP/FISIOFIND

Logo FisioFind

Fisio Find

The specialized online consultation platform for physiotherapists

last-commit repo-top-language repo-language-count


Table of Contents


Overview

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.


Features

  • πŸ“… 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

Project Structure

└── 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

Project Index

FISIOFIND/

Local Deployment

Prerequisites

Before getting started with FISIOFIND, ensure your runtime environment meets the following requirements:

  • Programming Language: Python
  • Package Manager: Npm, Pip
  • Database: Postrgres

Installation

Install FISIOFIND using one of the following methods:

  1. Clone the FISIOFIND repository:
❯ git clone https://github.com/Proyecto-ISPP/FISIOFIND
  1. Navigate to the project directory:
❯ cd FISIOFIND
  1. Install the project dependencies:

Using pip  

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

Using npm  

We now install the frontend framework dependencies in the frontend directory:

❯ cd ../fronend
❯ npm install

Database Setup

To set up the database for FISIOFIND, follow these steps:

  1. 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
  2. Configure Environment Variables:

    Copy the .env.example file to create a new .env file in the backend 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 and your_postgres_password with your actual PostgreSQL username and password.

  3. 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
  4. 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.

Usage

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:

Using npm  

❯ cd ../../fronted
❯ npm run dev

Project Roadmap

Sprint 1: Core Use Cases

  • 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.

Sprint 2: Tools & Payment

  • Tools-1: Payment and monetization system developed.
  • Tools-2: Physiotherapist tools implemented.

Sprint 3: Extras & Testing

  • Extra-1: Additional application features developed.
  • Extra-2: User support tools implemented.
  • Extra-3: Comprehensive application testing completed.

PPL

  • Extra-4: Patient history management implemented.
  • Extra-5: Chatbot implemented.

Contributing

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
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/Proyecto-ISPP/FISIOFIND
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b feature/new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Feat: Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph

License

This project is protected under the MIT License License. For more details, refer to the LICENSE file.

Acknowledgments

We would like to express our gratitude to the three great teams that have made this project possible:

Alberto Carmona
Alberto Carmona
Daniel Alors
Daniel Alors
Daniel FernΓ‘ndez
Daniel FernΓ‘ndez
Daniel Ruiz
Daniel Ruiz
Pablo FernΓ‘ndez
Pablo FernΓ‘ndez
Rafael Pulido
Rafael Pulido
Antonio MacΓ­as
Antonio MacΓ­as
BenjamΓ­n Maureira
BenjamΓ­n Maureira
DelfΓ­n Santana
DelfΓ­n Santana
Guadalupe Ridruejo
Guadalupe Ridruejo
Julen Redondo
Julen Redondo
RamΓ³n Gavira
RamΓ³n Gavira
Daniel Tortorici
Daniel Tortorici
Daniel Vela
Daniel Vela
Miguel Encina
Miguel Encina
Francisco Capote
Francisco Capote
Francisco Mateos
Francisco Mateos

About

Fisio Find: The specialized online consultation platform for physiotherapists

https://fisiofind.com

License:MIT License


Languages

Language:TypeScript 47.3%Language:Python 42.6%Language:JavaScript 6.6%Language:CSS 3.5%Language:PowerShell 0.0%Language:Shell 0.0%