A modern study management application built with React, TypeScript, and Supabase.
- Dashboard: Overview of study progress, XP, and upcoming deadlines
- Profile Management: Update personal information and profile picture
- Deadlines: Manage assignments and due dates with priority levels
- Cheat Sheet Generator: Create organized study materials
- Flashcards: Generate and study with flashcards
- Study Plan: Create and track study plans
- Study Groups: Collaborate with other students
npm installCreate a .env file in the root directory with your Supabase credentials:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_url_here
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key_here
# API Configuration
VITE_API_URL=http://localhost:3001- Create a Supabase project at supabase.com
- Get your project URL and anon key from the project settings
- Update the
.envfile with your credentials - Run the database migrations in the
supabase/migrations/folder
npm run devThe application will be available at http://localhost:5173
The application uses the following tables:
profiles: User profile informationcourses: Study courses and progressdeadlines: Assignment due datesstudy_sessions: Study session tracking
The app uses Supabase Auth for user authentication. Users can:
- Register with email and password
- Login with existing credentials
- Update profile information
- Logout securely
- View total XP earned
- Track study streaks
- Monitor course progress
- See upcoming deadlines
- Update personal information
- Upload profile picture
- Manage academic details
- Add, edit, and delete deadlines
- Set priority levels
- Mark as completed
- Filter by date ranges
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS
- Icons: Lucide React
- Backend: Supabase (Database + Auth)
- Routing: React Router DOM
- State Management: React Context API
npm run dev: Start development servernpm run build: Build for productionnpm run preview: Preview production buildnpm run lint: Run ESLint
src/
├── components/ # Reusable UI components
├── contexts/ # React context providers
├── lib/ # Utility libraries (Supabase client)
├── pages/ # Page components
└── main.tsx # Application entry point
-
Environment Variables Missing
- Ensure
.envfile exists with correct Supabase credentials - Restart the development server after adding environment variables
- Ensure
-
Database Connection Issues
- Verify Supabase credentials are correct
- Check if database tables exist
- Ensure RLS policies are configured
-
Authentication Problems
- Clear browser cache and cookies
- Check Supabase Auth settings
- Verify email confirmation if required
If you encounter issues:
- Check the browser console for error messages
- Verify all environment variables are set correctly
- Ensure Supabase project is properly configured
- Check that all dependencies are installed
This project is for educational purposes.