You can access the live version of DailyByte here:
๐ https://mindfulbyte-frontend.onrender.com/login
Feel free to explore the platform and try out the features!
For Frontend Codebase : Go To Branch - Frontend/RAJ/AGAM
For Backend Codebase : Go To Branch - Backend/KALASH/ATHARVA
Mindful Byte is a modern, full-stack web application designed to help developers enhance their programming skills through daily coding challenges. The platform combines interactive learning with gamification elements to create an engaging learning experience.
- ๐ Daily Programming Challenges - Fresh coding problems every day
- ๐ฅ Streak Tracking - Maintain your coding momentum
- ๐ Achievement System - Unlock badges for milestones
- ๐ Comprehensive Library - Browse 1000+ coding problems
- ๐ Bookmark System - Save interesting challenges
- ๐ค User Profiles - Track your progress and stats
- ๐ Dark/Light Mode - Customizable theme preference
- ๐ฑ Mobile Responsive - Seamless experience across devices
- Framework: React 18 with modern hooks
- Routing: React Router v6
- State Management: Context API
- Authentication: JWT with Google OAuth
- Styling: Custom CSS with modern design patterns
- Icons: React Icons library
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose ODM
- Authentication: JWT + bcrypt
- OAuth: Google OAuth 2.0
- API Design: RESTful architecture
Frontend | Backend | Database | Authentication |
---|---|---|---|
React.js | Node.js | MongoDB | JWT Tokens |
CSS3 | Express.js | Mongoose | Google OAuth |
React Router | bcryptjs | bcrypt | |
Context API | CORS |
Mindful_Byte/
โโโ ๐ frontend/ # React application
โ โโโ ๐ src/
โ โ โโโ ๐ components/ # Reusable UI components
โ โ โโโ ๐ context/ # React Context providers
โ โ โโโ ๐ pages/ # Page components
โ โ โโโ ๐ App.jsx # Main application component
โ โโโ ๐ package.json # Frontend dependencies
โ
โโโ ๐ backend/ # Node.js server
โ โโโ ๐ server/
โ โ โโโ ๐ controllers/# API route handlers
โ โ โโโ ๐ models/ # Database schemas
โ โ โโโ ๐ routes/ # API routes
โ โ โโโ ๐ server.js # Server entry point
โ โโโ ๐ package.json # Backend dependencies
โ
โโโ ๐ README.md # Project documentation
- Email/Password Registration & Login
- Google OAuth Integration
- JWT Token Management
- Protected Routes
- User Session Handling
- Daily Streak Counter
- Solution History
- Performance Analytics
- Badge Collection
- Personal Statistics
- Streak Challenges (7-day, 15-day, 30-day)
- Achievement Badges
- Progress Milestones
- Leaderboard System
- Celebration Animations
- User Profiles
- Solution Storage
- Bookmark System
- Progress Persistence
- Real-time Updates
- Glass Morphism Effects
- Gradient Backgrounds
- Smooth Animations
- Interactive Hover Effects
- Professional Typography
- Mobile-First Approach
- Tablet Optimization
- Desktop Enhancement
- Cross-Browser Compatibility
- Touch-Friendly Interface
- Dynamic Dark/Light Mode
- Theme Persistence
- Smooth Transitions
- Accessible Colors
- User Preference Storage
- Node.js (v16+)
- MongoDB (local or Atlas)
- Git
- Modern web browser
- Clone the repository
git clone https://github.com/itz-rajshekhar18/DailyBytes.git
cd Dailybytes
- Setup Backend
# Switch to backend branch
git checkout backend
# Install dependencies
cd backend/server
npm install
# Setup environment variables
cp .env.example .env
# Configure your MongoDB URI, JWT secret, and Google OAuth credentials
# Start the server
npm run dev
- Setup Frontend
# Switch to frontend branch
git checkout frontend
# Install dependencies
cd frontend
npm install
# Start the development server
npm start
PORT=5001
MONGODB_URI=mongodb://localhost:27017/DailyByteData
JWT_SECRET=your_jwt_secret_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REDIRECT_URI=http://localhost:5001/api/users/google/callback
FRONTEND_URL=http://localhost:5173
REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id
REACT_APP_API_URL=http://localhost:5001
POST /api/users/register
- User registrationPOST /api/users/login
- User loginPOST /api/users/google
- Google OAuthGET /api/users/profile
- Get user profilePUT /api/users/profile
- Update user profile
GET /api/bytes
- Get all bytesGET /api/bytes/:id
- Get specific bytePOST /api/bytes/:id/submit
- Submit solution
GET /api/streaks
- Get user streak infoPUT /api/streaks
- Update streakGET /api/badges
- Get user badges
GET /api/bookmarks
- Get user bookmarksPOST /api/bookmarks
- Add bookmarkDELETE /api/bookmarks/:id
- Remove bookmark
Badge | Requirement | Description |
---|---|---|
๐ฅ Week Warrior | 7-day streak | Complete 7 consecutive days |
๐ Biweek Champion | 15-day streak | Complete 15 consecutive days |
๐ Month Master | 30-day streak | Complete 30 consecutive days |
- Header - Navigation with user profile
- Hero - Landing section with features
- Bytes - Daily challenge display
- BytesBrowser - Challenge library
- Profile - User dashboard
- Badges - Achievement showcase
- User - User data and authentication
- Byte - Programming challenges
- Streak - Progress tracking
- Bookmark - Saved challenges
main
- Production ready code with documentationfrontend
- Frontend React applicationbackend
- Backend Node.js server
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Kalash Mishra
- GitHub: @kalashmishra21
- LinkedIn: Kalash Mishra
- React team for the amazing framework
- MongoDB for the flexible database
- Google for OAuth integration
- Open source community for inspiration
โญ Star this repository if you found it helpful!
Made with โค๏ธ by Kalash Mishra