Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
418dad1
feat: implement AI-driven productivity scoring, analytics
codxbrexx Jul 23, 2026
dc1a56c
feat: implement AI-driven productivity insights and analytics
codxbrexx Jul 23, 2026
72d2b34
feat: implement AI insights service, state management, and dashboard …
codxbrexx Jul 23, 2026
a0cc3ab
feat: implement AI-driven study planning service and user profile man…
codxbrexx Jul 23, 2026
ffbc718
feat: implement AI-driven study planning service and user profile sch…
codxbrexx Jul 23, 2026
8fcd46d
feat: implement AI-driven study planner service and integrate backend…
codxbrexx Jul 23, 2026
96ef52b
feat: implement study profile management with UI component and valida…
codxbrexx Jul 23, 2026
40ded33
feat: implement adaptive study planning and focus analytics features
codxbrexx Jul 23, 2026
67c795b
feat: implement RAG pipeline with document
codxbrexx Jul 23, 2026
aa55314
feat: implement RAG-based document querying, quiz generation, and ass…
codxbrexx Jul 23, 2026
ba30f47
feat: implement RAG pipeline with document processing, vector search
codxbrexx Jul 23, 2026
b248868
feat: implement RAG pipeline with document processing, vector search,…
codxbrexx Jul 23, 2026
7d599bc
feat: implement PDF document upload, RAG processing, and adaptive tim…
codxbrexx Jul 23, 2026
cc98c70
feat: integrate document-based RAG support and adaptive timer analyti…
codxbrexx Jul 23, 2026
5157d2c
feat: integrate Google Gemini as a primary LLM provider
codxbrexx Jul 23, 2026
c219a69
feat: integrate LLM provider and optimize service worker registratio…
codxbrexx Jul 23, 2026
7b29d83
feat: integrate logic, and clean up frontend registration and unused …
codxbrexx Jul 23, 2026
19f1fb2
feat: improve landing page
codxbrexx Jul 23, 2026
7202486
feat: implement floating AI study coach chat and overhaul study plan …
codxbrexx Jul 23, 2026
1ef0087
feat: introduce FloatingChat component, add new brand assets, and upd…
codxbrexx Jul 23, 2026
2aa9063
update: studyplan card , Navbar and sidebar
codxbrexx Jul 23, 2026
54b0ed8
update: ui
codxbrexx Jul 23, 2026
507692d
update : ui
codxbrexx Jul 23, 2026
36c45a1
docs: overhaul README to include AI features, updated tech stack, and…
codxbrexx Jul 23, 2026
2f650e7
refactor: migrate to @google/genai SDK and decouple database logic fr…
codxbrexx Jul 26, 2026
b4faf7f
refactor: decouple AI services from database operations by moving sto…
codxbrexx Jul 26, 2026
55ee67d
feat: add default LLM model config and improve sidebar accessibility …
codxbrexx Jul 26, 2026
52d7b26
refactor: remove unused imports and enforce LucideIcon type for icon …
codxbrexx Jul 26, 2026
39dbeef
refactor: eliminate useEffect-based state synchronization
codxbrexx Jul 26, 2026
7ac111c
fix: replace pdf-parse version to satisfy dependency review license c…
Copilot Jul 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 73 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,93 @@
# FocusMaster
![License](https://img.shields.io/badge/license-MIT-blue.svg)
![React](https://img.shields.io/badge/frontend-React-61DAFB?logo=react&logoColor=black)
![Node](https://img.shields.io/badge/backend-Node.js-339933?logo=nodedotjs&logoColor=white)
![MongoDB](https://img.shields.io/badge/database-MongoDB-47A248?logo=mongodb&logoColor=white)

> A unified dashboard designed to maximize your cognitive potential and maintain flow state.
<div align="center">
<img src="./frontend/public/FM_logo.png" alt="FocusMaster Logo" width="120" />
<h3>The Ultimate AI-Powered Productivity Workspace</h3>
<p>A beautifully designed, unified dashboard engineered to maximize cognitive potential, maintain deep work flow states, and intelligently adapt to your study and work patterns.</p>
</div>

[Features](#key-features) • [Stack](#tech-stack) • [Quick Start](#quick-start) • [Docs](./docs)
<p align="center">
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License" />
<img src="https://img.shields.io/badge/frontend-React-61DAFB?logo=react&logoColor=black" alt="React" />
<img src="https://img.shields.io/badge/backend-Node.js-339933?logo=nodedotjs&logoColor=white" alt="Node" />
<img src="https://img.shields.io/badge/database-MongoDB-47A248?logo=mongodb&logoColor=white" alt="MongoDB" />
<img src="https://img.shields.io/badge/ai-Google_Gemini-8E75B2?logo=google&logoColor=white" alt="Gemini AI" />
</p>

---
## Key Features

### Key Features
- **Pomodoro Timer**: Customizable intervals, visual progress rings, and notification sounds.
- **Kanban Board**: Drag-and-drop workflow tracking with custom tags and priority levels.
- **Deep Analytics**: Interactive productivity heatmap, trends, and session logs.
- **Integrations**: Spotify Premium controller and secure Google OAuth sign-in.
- **Admin Panel**: User role management (RBAC), audit logs, and system metrics.
### Intelligent AI Study Coach & Planner
- **Dynamic Study Planner**: Automatically generates weekly subject schedules based on your stream, exam dates, and available hours.
- **RAG Notes Assistant**: Upload your PDF study materials and chat instantly with an AI that retrieves precise answers directly from your notes.
- **Smart Nudges & Preparation Advice**: Daily AI-generated insights analyzing your focus history to give actionable productivity advice.
- **Floating AI Widget**: A premium, globally accessible AI chat assistant ready to provide coaching and context-aware feedback at any moment.

### Tech Stack
| Frontend | Backend | DevOps & Database |
|---|---|---|
| React 19 + TypeScript | Node.js + Express 5 | MongoDB (Mongoose ODM) |
| Tailwind CSS 4 + Framer Motion | JWT Auth & Google OAuth | Vercel (CI/CD Deployments) |
| Zustand + Shadcn/ui | Jest & Supertest | Vitest + Playwright (E2E) |
### Advanced Productivity Tools
- **Pomodoro Timer**: Customizable focus intervals, visual progress rings, and adaptive timer suggestions based on drop-off analysis.
- **Kanban Task Manager**: Drag-and-drop workflow tracking with custom tags, priority levels, and daily persistence.
- **Clock In/Out Ecosystem**: Comprehensive daily session tracking with rich, calendar-based activity logs.
- **Deep Analytics**: Interactive productivity heatmaps, focus trends, task completion rates, and gamified level progressions.

---
### Seamless Integrations
- **Spotify Premium Controller**: Manage your deep-work playlists and control playback directly from your dashboard without breaking focus.
- **Secure Authentication**: Robust JWT-based auth and integrated Google OAuth sign-in.
- **Admin Panel**: User role management (RBAC), system metrics, and audit logs.

## Tech Stack

### Quick Start
| Domain | Technologies |
|---|---|
| **Frontend** | React 19, TypeScript, Tailwind CSS 4, Framer Motion, Zustand, Shadcn/ui, Vite |
| **Backend** | Node.js, Express 5, MongoDB (Mongoose), Google Generative AI (Gemini), Multer |
| **DevOps & Testing** | Vercel (CI/CD), Jest, Supertest, Vitest, Playwright (E2E) |

1. **Clone the repository:**
## Quick Start

### 1. Clone the repository
```bash
git clone https://github.com/codxbrexx/FocusMaster.git && cd FocusMaster
git clone https://github.com/codxbrexx/FocusMaster.git
cd FocusMaster
```

2. **Start Backend:**
```bash
cd backend && npm install && npm run dev
### 2. Configure Backend
Create a `.env` file in the `backend/` directory:
```env
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_jwt_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
GEMINI_API_KEY=your_google_gemini_api_key
DEFAULT_LLM_MODEL=gemini-2.0-flash
```
*Configure `backend/.env` with `PORT`, `MONGO_URI`, `JWT_SECRET`, `GOOGLE_CLIENT_ID`, and Spotify credentials.*

3. **Start Frontend:**
```bash
cd frontend && npm install && npm run dev
cd backend
npm install
npm run dev
```
*Configure `frontend/.env` with `VITE_API_URL` and `VITE_GOOGLE_CLIENT_ID`.*

---
### 3. Configure Frontend
Create a `.env` file in the `frontend/` directory:
```env
VITE_API_URL=http://localhost:5000/api
VITE_GOOGLE_CLIENT_ID=your_google_client_id
```

```bash
cd frontend
npm install
npm run dev
```

### Development & Resources
- **Testing**: Run `npm test` in the respective `frontend` or `backend` folder.
- **Documentation**: Comprehensive guides and specifications are in the [`docs/`](./docs) folder.
## Documentation
Comprehensive architecture guides, API specifications, and development workflows can be found in the [`docs/`](./docs) directory.

---
**Developer:** [@codxbrexx](https://github.com/codxbrexx) • **License**: MIT
<div align="center">
<b>Designed & Developed by <a href="https://github.com/codxbrexx">@codxbrexx</a></b>
<br />
<i>Productivity Workspace | MIT License</i>
</div>
7 changes: 7 additions & 0 deletions backend/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,10 @@ SPOTIFY_REDIRECT_URI=http://localhost:5000/api/spotify/callback
# Vercel sends this as: Authorization: Bearer <CRON_SECRET>
# Generate one with: openssl rand -hex 32
CRON_SECRET=replace_with_a_random_32_character_secret

# AI / LLM Integration
# Set one of the following depending on which LLM provider you prefer to use.
# For RAG (Phase 4), GEMINI_API_KEY is strongly recommended as it handles Vector Embeddings natively here.
GEMINI_API_KEY=your_gemini_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
DEFAULT_LLM_MODEL=gemini-1.5-flash
Loading
Loading