Lumina is a full-stack AI-powered student companion application designed to help with studying, goal tracking, and productivity.
- Backend: FastAPI (Python)
- Frontend: React + Vite (TypeScript)
- Database: PostgreSQL (via SQLAlchemy)
- AI Engine: Groq
- Integrations: GitHub, OneNote
- Python 3.8+
- Node.js 16+
- PostgreSQL
- Redis
-
Navigate to the backend directory:
cd backend -
Create and activate a virtual environment (optional but recommended):
python -m venv .venv # Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Environment Configuration:
- Copy
.env.templateto.env. - Fill in your API keys (GROQ_API_KEY) and database credentials.
- Copy
-
Run the server:
uvicorn main:app --reload
The API will be available at
http://localhost:8000.
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
The application will be available at
http://localhost:5173.
To use GitHub and OneNote features:
- GitHub: Generate a Personal Access Token (Classic) with
reposcope. - OneNote: Obtain a Microsoft Graph OAuth token with
Notes.Readscope. - Connect these services via the "Integrations" tab in the application sidebar.