A modern, full-stack web application designed to help students manage their academic life with features for task tracking, study planning, focus sessions, mood tracking, and analytics.
- Task Management: Create, organize, and track tasks with priority levels and status tracking
- Study Planning: Schedule and track study sessions with detailed notes and time management
- Focus Mode: Pomodoro timer with customizable work/break intervals and distraction blocking
- Mood Tracking: Daily mood logging with insights and patterns
- Analytics Dashboard: Comprehensive analytics showing productivity trends and patterns
- Notes Hub: Create, share, and discover study notes with community features
- Modern UI: Beautiful, responsive interface with dark/light theme support
- Real-time Data: Live updates and synchronization across devices
- Data Persistence: MongoDB backend with localStorage fallback
- Authentication: Secure JWT-based authentication system
- Profile Management: Complete user profiles with academic information
- Data Export/Import: Backup and restore your data
- Search Functionality: Global search across all content
- Notifications: Smart notification system for reminders
- Responsive Design: Works perfectly on desktop and mobile devices
- Real Website Blocking: Actually blocks websites at the browser level
- Timer-Based Sessions: Set custom durations for your study sessions
- Persistent Timer: Timer continues even after browser restart
- Visual Progress: Beautiful circular progress indicator
- Badge Updates: Extension badge shows remaining time
- Category-Based Blocking: Quick add social media, entertainment, or news sites
- Custom Sites: Add any website to your block list
- Flexible Duration: Set blocking duration from 5 minutes to 3 hours
- Real-time Monitoring: Monitors all tabs and navigation
- Beautiful UI: Modern, clean interface with smooth animations
- Motivational Messages: Encouraging blocked page with progress tracking
- Notifications: Desktop notifications when sessions start/end
- Easy Management: Simple popup interface for all controls
- Node.js (v16 or higher)
- MongoDB (local or cloud instance)
- npm or yarn package manager
-
Clone the Repository
git clone <repository-url> cd student-sentience-20-main
-
Install Dependencies
# Install frontend dependencies npm install # Install backend dependencies cd server npm install cd ..
-
Environment Configuration
# Copy environment example cp server/.env.example server/.env # Edit server/.env with your configuration: # MONGODB_URI=mongodb://localhost:27017/Capstone # JWT_SECRET=your-super-secret-jwt-key # PORT=8000
-
Start the Application
# Start backend server (in server directory) cd server npm start # Start frontend (in root directory) npm run dev
-
Access the Application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- 🌐 Live Demo: https://sentiencehub.netlify.app/
- 🔧 Backend API: https://sentience-xq1s.onrender.com
Use Docker Compose for easy deployment:
# Build and start all services
docker-compose up -d
# Access the application
# Frontend: http://localhost:3000
# Backend: http://localhost:8000- Frontend: Deployed on Netlify
- Backend: Deployed on Render
- Database: MongoDB Atlas
-
Create an Account
- Sign up with your email and academic information
- Complete your profile with university, major, and year
-
Explore the Dashboard
- Navigate through different sections using the navbar
- Each section is designed for specific academic needs
-
Start with Task Management
- Create your first task in the Task Tracker
- Set priorities and due dates
- Track progress through different statuses
- Create Tasks: Add tasks with titles, descriptions, and priorities
- Organize: Use tags and categories to organize your work
- Track Progress: Move tasks between To Do, In Progress, and Done
- Set Reminders: Add due dates and estimated completion times
- Schedule Sessions: Plan study sessions with subjects and durations
- Track Time: Log actual study time and compare with planned time
- Add Notes: Include detailed notes about what you studied
- View History: See your study patterns and progress
- Pomodoro Timer: Use the built-in timer for focused work sessions
- Custom Intervals: Set work and break durations
- Distraction Blocking: Enable website blocking during focus sessions
- Track Sessions: Monitor completed focus sessions and productivity
- Daily Logging: Record your mood throughout the day
- Add Notes: Include context about what affected your mood
- View Patterns: See mood trends and correlations with productivity
- Insights: Get personalized insights about your well-being
- Productivity Metrics: View task completion rates and study time
- Mood Trends: See patterns in your emotional well-being
- Focus Statistics: Track focus session effectiveness
- Personal Insights: Get recommendations for improvement
- Create Notes: Write and organize study notes
- Share Knowledge: Share notes with the community
- Discover Content: Find notes from other students
- Collaborate: Like and comment on shared notes
- Export Data: Download your data as JSON backup
- Import Data: Restore from previous backups
- Clear Data: Reset your account if needed
- Storage Monitoring: Track your data usage
- Academic Info: Update university, major, and year
- Avatar System: Customize your profile picture
- Privacy Settings: Control what information is shared
- Account Security: Manage authentication and passwords
- Notifications: Desktop notifications when session ends
- Persistent: Timer continues even if you close popup
- Click "Stop Blocker" in the popup
- Timer will reset and sites will be unblocked
- No penalty for stopping early
├── src/ # Frontend source code
│ ├── components/ # Reusable UI components
│ ├── pages/ # Main application pages
│ ├── contexts/ # React context providers
│ ├── services/ # API and utility services
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries
│ └── utils/ # Helper functions
├── server/ # Backend source code
│ ├── routes/ # API route handlers
│ ├── models/ # MongoDB schemas
│ ├── middleware/ # Express middleware
│ └── server.js # Main server file
├── public/ # Static assets
├── docker-compose.yml # Docker deployment
├── Dockerfile # Frontend container
└── server/Dockerfile # Backend container
- Full-Stack: React frontend with Node.js backend
- Database: MongoDB with Mongoose ODM
- Authentication: JWT-based secure authentication
- Real-time: Live updates and data synchronization
- Responsive: Works on desktop and mobile devices
- JWT Authentication: Secure token-based authentication
- Data Encryption: Sensitive data is properly encrypted
- Input Validation: All user inputs are validated
- CORS Protection: Cross-origin requests are properly handled
- Environment Variables: Sensitive configuration is externalized
- Tailwind CSS: Utility-first CSS framework
- Radix UI: Accessible component library
- Theme Support: Dark and light mode
- Responsive Design: Mobile-first approach
The application is built with a modular architecture:
- Frontend: Add new pages in
src/pages/ - Backend: Add new routes in
server/routes/ - Database: Add new models in
server/models/
-
Backend Not Starting
- Check MongoDB is running
- Verify environment variables
- Check server logs for errors
-
Frontend Not Loading
- Ensure backend is running on port 8000
- Check for CORS issues
- Verify API endpoints are accessible
-
Database Connection Issues
- Check MongoDB connection string
- Verify database permissions
- Check network connectivity
-
Authentication Problems
- Verify JWT_SECRET is set
- Check token expiration
- Ensure proper headers are sent
- Frontend: Check browser console for errors
- Backend: Check server logs for API errors
- Database: Use MongoDB Compass to inspect data
- Network: Use browser dev tools to check API calls
student-sentience-20-main/
├── src/
│ ├── components/
│ ├── pages/
│ ├── contexts/
│ ├── services/
│ └── utils/
├── server/
│ ├── routes/
│ ├── models/
│ └── middleware/
└── public/
- Load extension in Chrome
- Add test sites to block list
- Start a short session (1-2 minutes)
- Try accessing blocked sites
- Verify timer and notifications work
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
- Built with Chrome Extension Manifest V3
- Inspired by productivity and focus tools
- Designed for students and professionals
Happy Studying! 🎓
Stay focused, stay productive with StudyHub Distraction Blocker.