A comprehensive study platform that combines Pomodoro timers, study groups, collaborative note-taking, and social features to enhance your learning experience.
- Solo study sessions with customizable work/break intervals
- Group study sessions with synchronized timers
- Global timer indicator that persists across navigation
- Session goals and progress tracking
- Completion effects and notifications
- Create and join study groups with friends
- Browse public groups by subject
- Group management with customizable themes and icons
- Real-time group study sessions
- Group chat and collaboration features
- Real-time collaborative editor
- Document sharing and commenting system
- Study material upload and organization
- Multiple document types (study notes, lab reports, essays, etc.)
- Version control and activity tracking
- Dark/light theme support
- Custom color themes and gradients
- Personalized study environment
- Responsive design for all devices
- Study session tracking and statistics
- Progress visualization with charts
- Achievement system and badges
- Study streaks and goals
- Personal dashboard with insights
- Secure authentication with Supabase
- Profile customization and privacy settings
- Friend system and social features
- Notification center
- Account management
- Frontend: React 18 with TypeScript
- Build Tool: Vite
- UI Framework: shadcn/ui components with Radix UI
- Styling: Tailwind CSS
- Backend: Supabase (PostgreSQL, Auth, Real-time)
- State Management: React Context + TanStack Query
- Routing: React Router DOM
- Icons: Lucide React
- Charts: Recharts
- Notifications: Sonner
- Join existing study groups
- Collaborate on shared documents
- Participate in group study sessions
- Connect with other students worldwide
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/OuiHui/study-sphere-pomodoro-flow.git cd study-sphere-pomodoro-flow -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Build for production
npm run build
The app automatically deploys to GitHub Pages when changes are pushed to the main branch. The Supabase database is shared across all deployments for global collaboration.
src/
├── components/ # Reusable UI components
│ ├── calendar/ # Study calendar components
│ ├── chat/ # Chat and messaging
│ ├── dashboard/ # Main dashboard
│ ├── docs/ # Collaborative editor
│ ├── friends/ # Friend system
│ ├── groups/ # Study groups
│ ├── layout/ # Layout components
│ ├── notes/ # Note-taking features
│ ├── profile/ # User profile
│ ├── settings/ # App settings
│ ├── study/ # Timer and study features
│ └── ui/ # Base UI components
├── contexts/ # React contexts
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── pages/ # Page components
├── services/ # API and database services
├── types/ # TypeScript type definitions
└── utils/ # Helper utilities
- Solo Sessions: Personal study timer with customizable intervals
- Group Sessions: Synchronized timers for collaborative studying
- Smart Navigation: Warns when switching between solo/group sessions
- Persistence: Timer state maintained across page navigation
- Discovery: Browse and search public study groups
- Management: Create, configure, and manage study groups
- Collaboration: Real-time group study sessions with chat
- Themes: Customizable group appearance and branding
- Collaborative Editing: Multiple users can edit documents simultaneously
- Live Chat: Real-time messaging in study groups
- Synchronized Timers: Group members see the same timer state
- Activity Tracking: Live updates on user activity and presence
The application uses Supabase with the following key tables:
profiles- User profiles and settingsstudy_groups- Study group informationgroup_members- Group membership relationshipsstudy_sessions- Study session recordsnotes- Collaborative documents and notesmessages- Chat messages and notificationsfriendships- User connections
This project is configured to automatically deploy to GitHub Pages. To set it up:
-
Enable GitHub Pages in your repository settings:
- Go to Settings → Pages
- Set Source to "GitHub Actions"
-
The deployment workflow will automatically:
- Build the project when you push to main
- Deploy to
https://yourusername.github.io/study-sphere-pomodoro-flow - Use the shared Supabase database for global collaboration
-
All users worldwide will interact with the same database, enabling true collaboration!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue on GitHub or contact the development team.