StudyFlow is a smart study management application designed to help students prioritize their academic workload effectively. By utilizing an intelligent scheduling algorithm, StudyFlow automatically calculates the priority of assignments based on their urgency, importance, and estimated effort.
- Smart Dashboard: Instantly see your "Today's Focus" – the most critical tasks generated by our proprietary algorithm.
- Assignment Management: Track your assignments with due dates, weights (importance), and effort estimation.
- Course Organization: Categorize your work by course and manage course-specific details.
- User Preferences: Customize your study habits and schedule preferences.
- Priority Algorithm: Leverages a weight-based scoring system to rank tasks:
- Urgency (40%): How close is the deadline?
- Importance (40%): How much does this task weigh toward your grade?
- Effort (20%): Leverages "quick wins" by prioritizing shorter tasks when all else is equal.
- Node.js (v20+)
- npm / yarn / pnpm
- Install dependencies:
npm install - Setup Environment:
Create a
.envfile from.env.example(if available) or ensureDATABASE_URLis set:DATABASE_URL="file:./dev.db" NEXTAUTH_SECRET="your-secret-here" NEXTAUTH_URL="http://localhost:3000" - Database Initialization:
npx prisma generate npx prisma db push npm run prisma:seed # If you want sample data - Run Development Server:
npm run dev
For detailed technical information, architecture overview, and the data model, please refer to:
- Technical Documentation
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Database: SQLite via Prisma ORM
- Styling: Tailwind CSS 4 & Shadcn UI
- Authentication: NextAuth.js
- State Management: Zustand