NeuroBloom is a free-of-cost, modular web platform for longitudinal cognitive monitoring and clinician-guided rehabilitation in multiple sclerosis (MS). It is designed for patients, clinicians, and administrators who need structured cognitive follow-up between formal clinical encounters, particularly in settings where repeated specialist assessment may be difficult to access. The project is associated with a SoftwareX journal publication and provides a reproducible software framework for digital rehabilitation research and pilot deployment. A deployed version is available at https://neurobloom-67qo.onrender.com/.
git clone https://github.com/Adit-Mugdha-das/NeuroBloom.git
cd NeuroBloom
cd backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -r requirements.txt
cd ..
# Windows PowerShell
Copy-Item .env.example .env.local
# macOS / Linux
cp .env.example .env.local
Edit .env.local with your local PostgreSQL database name, username, password, host, port, and allowed frontend origins. For local development without Docker, ensure PostgreSQL is running and the configured database exists before starting the backend. Leave DATABASE_URL commented unless you intentionally want to override the individual PostgreSQL settings.
If the configured database does not exist yet, create it before initialization:
createdb neurobloom_db
Alternatively, using psql:
psql -U postgres -c "CREATE DATABASE neurobloom_db;"
cd backend
python seed_initial_data.py
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
cd ../frontend-svelte
npm install
npm run dev
The frontend development server runs on http://localhost:5174, and the backend API runs on http://127.0.0.1:8000.
Docker Compose is the recommended setup for local deployment. It starts PostgreSQL, the backend API, and the frontend container.
# Windows PowerShell
Copy-Item .env.example .env.local
# macOS / Linux
cp .env.example .env.local
docker compose --env-file .env.local -f compose.yaml up --build
After the containers are running, initialize the default admin account and reference data once:
docker compose --env-file .env.local -f compose.yaml exec backend python seed_initial_data.py
The frontend is available at http://localhost:8080, and the backend API is available at http://localhost:8000.
If your Docker installation uses the older standalone Compose binary, replace docker compose with docker-compose.
NeuroBloom/
|-- backend/ # FastAPI backend, SQLModel models, APIs, services, seed scripts
|-- frontend-svelte/ # SvelteKit frontend application
|-- Paper_Materials/ # SoftwareX manuscript, figures, and publication materials
|-- demo/ # Supplementary demo video
|-- compose.yaml # Docker Compose configuration
|-- .env.example # Environment variable template
|-- LICENSE # MIT License
`-- README.md # Project documentation
Patients complete baseline and training activities, submit contextual information, review progress, receive prescriptions, and communicate with clinicians.
Clinicians review patient histories, monitor longitudinal trends and risk alerts, adjust rehabilitation plans, issue prescriptions, generate reports, and exchange messages with assigned patients.
Administrators manage users, departments, assignments, notifications, audit logs, system health, and research-oriented data export.
A supplementary screencast demonstrating the main NeuroBloom workflows is available at:
demo/NeuroBloom_demo.mp4
NeuroBloom is released under the MIT License. See LICENSE for details.
The citation for the associated SoftwareX publication will be added upon publication. A CITATION.cff file may be used to provide machine-readable citation metadata for the software repository.
For questions, contact:
[email protected]