A full-stack web application designed to boost academic performance by providing educational video content for students.
- Frontend: React.js with JavaScript
- Backend: Node.js with Express
- Database: MongoDB with Mongoose
- User authentication (Sign Up & Login)
- Secure password hashing
- JWT-based authentication
- Protected routes
- Responsive design
- Node.js (v14 or higher)
- MongoDB (local or MongoDB Atlas)
- npm or yarn
- Clone the repository
- Install dependencies for both frontend and backend:
# Frontend
cd frontend
npm install
# Backend
cd ../backend
npm install- Backend: Create a
.envfile in thebackenddirectory:
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/studyhub
JWT_SECRET=your_super_secret_jwt_key_here
FRONTEND_URL=http://localhost:3000- Frontend: Create a
.envfile in thefrontenddirectory:
VITE_API_URL=http://localhost:5000/api-
Start MongoDB (if running locally):
- Make sure MongoDB is running on your system
-
Start the Backend:
cd backend
npm run devThe backend will run on http://localhost:5000
- Start the Frontend:
cd frontend
npm run devThe frontend will run on http://localhost:3000
Studyhub/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── context/
│ │ ├── services/
│ │ └── assets/
│ └── package.json
├── backend/
│ ├── src/
│ │ ├── config/
│ │ ├── controllers/
│ │ ├── middleware/
│ │ ├── models/
│ │ ├── routes/
│ │ └── server.js
│ └── package.json
└── assets/
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userGET /api/auth/me- Get current user (Protected)
- Video listing and playback
- YouTube video embedding
- Course categories
- Progress tracking
- User profiles
- Search functionality
ISC