Skip to content

georgeibrahim1/yasta-focus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

143 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Yasta Focus Logo

YASTA FOCUS

A Gamified Educational & Productivity Hub

Live Demo

React Express.js Node.js TailwindCSS PostgreSQL Socket.io

πŸš€ Overview

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.

✨ Features

🧠 Productivity Tools

  • 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.

πŸ‘₯ Community & Social

  • 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).

πŸ† Gamification

  • 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.

πŸ“… Events

  • Live Events: Host or attend live video sessions and workshops.

πŸ›‘οΈ Admin Dashboard

  • 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.

πŸ› οΈ Tech Stack

Frontend

Backend

πŸ—„οΈ Enhanced Entity Relationship Diagram (EER)

EER Diagram

πŸ“Έ Screenshots

Admin Dashboard

Admin Dashboard with Analytics


Community & Study Rooms

Profile Page

Leaderboards

Focus Timer

AI Chat Assistant

Communities

πŸ’» Run Locally

Prerequisites: Node.js and PostgreSQL installed.

1. Clone the project

git clone https://github.com/your-username/yasta-focus.git
cd yasta-focus

2. Backend Setup

Navigate to the backend directory:

cd yasta-focus-backend
npm install

Create 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=XXX

Start the server:

npm run start

3. Frontend Setup

Navigate to the frontend directory:

cd ../yasta-focus-frontend
npm install

Create 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=XXX

Start the application:

npm run dev

Visit http://localhost:5173 to view the app.


Made with ❀️ by the Yasta Focus Team


George Ibrahim

Omar Abdelaziz

Pierre Ehab

Nour El-deen Ahmed

About

A gamified productivity website for students with focus timers, study rooms, and achievements system.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages