Yasta Focus is a comprehensive platform designed to enhance student productivity and engagement through gamification and community features. It combines essential study tools with social interaction to create a motivating environment for learning.
- Focus Timer: Customizable Pomodoro-style timer to manage study sessions.
- Subjects & Tasks: Organize study materials and track assignments.
- Notes: Rich text editor for taking and organizing study notes.
- AI-Powered Chat: AI chat for student subjects.
- Study Rooms: Join virtual rooms with video and chat capabilities to study with peers.
- Communities: Create or join interest-based groups.
- Friends System: Connect with other students and give xp gifts for them.
- Leaderboards: Compete globally or within communities (Daily, Weekly, All-time).
- Competitions: Participate in global or local community challenges.
- Achievements: Earn badges and rewards for study streaks and milestones.
- Levels & XP: Gain experience points for every productive action.
- Live Events: Host or attend live video sessions and workshops.
- Analytics: Comprehensive reports on user engagement and content creation.
- User Management: Manage users, communities, and content.
- System Control: Create global competitions and manage platform settings.
- Core: React 19, Vite 7
- Styling: TailwindCSS 4
- Navigation: React Router 7
- State Management: TanStack React Query 5
- Forms & Validation: React Hook Form
- UI Components & Icons: Lucide React, Radix UI
- Real-time: Socket.io Client, Stream Video SDK, Stream Chat SDK
- Visualization: Recharts
- Utilities: Axios, React Hot Toast, React MD Editor, Uploadcare, React Snowfall
- Development: ESLint, Vite Plugins
- Runtime: Node.js
- Framework: Express 5
- Database: PostgreSQL (via
pg) - Authentication: JSON Web Token (JWT), Bcryptjs
- AI Integration: Google Gemini AI
- Real-time: Socket.io, Stream Node SDK
- Utilities: Axios, Dotenv, Cookie Parser, CORS
- Development: Nodemon
Community & Study Rooms |
Profile Page |
Leaderboards |
Focus Timer |
AI Chat Assistant |
Communities |
Prerequisites: Node.js and PostgreSQL installed.
git clone https://github.com/your-username/yasta-focus.git
cd yasta-focusNavigate to the backend directory:
cd yasta-focus-backend
npm installCreate a config.env file in the root of yasta-focus-backend:
PG_USER=XXX
PG_PASSWORD=XXX
PG_HOST=XXX
PG_PORT=XXX
PG_DATABASE=postgres
NODE_ENV=development
PORT=3000
JWT_SECRET=XXX
JWT_EXPIRES_IN=XXX
JWT_COOKIE_EXPIRES_IN=XXX
GROQ_API_KEY=XXX
STREAM_API_KEY=XXX
STREAM_SECRET=XXXStart the server:
npm run startNavigate to the frontend directory:
cd ../yasta-focus-frontend
npm installCreate a .env file in the root of yasta-focus-frontend:
VITE_STREAM_API_KEY=XXX
VITE_API_URL=http://localhost:3000/api
VITE_UPLOADCARE_PUBLIC_KEY=XXXStart the application:
npm run devVisit http://localhost:5173 to view the app.
Made with β€οΈ by the Yasta Focus Team
George Ibrahim |
Omar Abdelaziz |
Pierre Ehab |
Nour El-deen Ahmed |







