NeuroBloom Svelte Themes

Neurobloom

Free-of-cost web platform for longitudinal cognitive monitoring and clinician-guided rehabilitation in multiple sclerosis. Features 35 adaptive cognitive tasks across 6 domains, digital biomarker extraction, bilingual Bengali/English support, and coordinated patient-clinician workflows.

NeuroBloom

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

Key Features

  • 35 cognitive tasks across 6 cognitive domains, each with 10 difficulty levels
  • Pre-session contextual capture for fatigue, sleep quality, stress, and medication timing
  • Longitudinal analytics with digital biomarker extraction
  • Three-role architecture for patients, clinicians, and administrators
  • Bilingual support in Bengali and English
  • Automated high-risk patient alerts and bidirectional messaging
  • Free-of-cost and open source under the MIT License

System Requirements

  • Python 3.10+
  • Node.js 18+
  • npm
  • PostgreSQL 14+
  • Modern web browser

Installation

  1. Clone the repository.
git clone https://github.com/Adit-Mugdha-das/NeuroBloom.git
cd NeuroBloom
  1. Set up the backend.
cd backend
python -m venv .venv

# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

pip install -r requirements.txt
  1. Copy the environment template and configure database settings.
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;"
  1. Initialize the database.
cd backend
python seed_initial_data.py
  1. Start the backend API.
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
  1. Set up and start the frontend.
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.

Running with Docker

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.

Project Structure

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

User Roles

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.

Supplementary Video

A supplementary screencast demonstrating the main NeuroBloom workflows is available at:

demo/NeuroBloom_demo.mp4

Tech Stack

  • Python
  • FastAPI
  • SQLModel
  • PostgreSQL
  • JavaScript
  • Svelte
  • SvelteKit
  • Vite

License

NeuroBloom is released under the MIT License. See LICENSE for details.

Citation

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.

Contact

For questions, contact:

[email protected]

Top categories

Loading Svelte Themes