Skip to content

MANAN-8017/Sync-schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

SyncSchedule - College Management System

A complete college management system built with React, Node.js, and MySQL.

Project Structure

sync-schedule/
├── backend/
│   ├── server.js
│   ├── package.json
│   └── .env
├── frontend/
│   ├── src/
│   │   ├── App.js
│   │   ├── index.js
│   │   └── index.css
│   ├── public/
│   │   └── index.html
│   ├── package.json
│   └── tailwind.config.js
└── database/
    └── schema.sql

Setup Instructions

1. Database Setup

  1. Install MySQL and create the database:
-- Run the provided schema.sql file to create tables and insert sample data
mysql -u root -p < database/schema.sql

2. Backend Setup

  1. Navigate to backend directory:
cd backend
  1. Install dependencies:
npm install
  1. Create .env file with your database credentials:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=sync_schedule
JWT_SECRET=your-super-secret-jwt-key
PORT=5000
  1. Start the backend server:
npm run dev

The backend will run on http://localhost:5000

3. Frontend Setup

  1. Navigate to frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Install Tailwind CSS:
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
  1. Start the frontend development server:
npm start

The frontend will run on http://localhost:3000

Demo Login Credentials

Student Login

Faculty Login (Coming Soon)

Admin Login (Coming Soon)

Features Implemented

Authentication

  • ✅ Login system with JWT tokens
  • ✅ Role-based authentication (Student/Faculty/Admin)
  • ✅ Secure password hashing

Student Dashboard

  • ✅ Profile management
  • ✅ Weekly timetable view
  • ✅ Announcements with priority levels
  • ✅ Attendance tracking with percentages
  • ✅ Fee management and payment status
  • ✅ Exam schedule
  • ✅ Results with grades and percentages

API Endpoints

Authentication

  • POST /api/auth/login - User login

Student Routes

  • GET /api/student/profile - Get student profile
  • GET /api/student/timetable - Get student timetable
  • GET /api/student/announcements - Get announcements
  • GET /api/student/attendance - Get attendance records
  • GET /api/student/fees - Get fee details
  • GET /api/student/exams - Get exam schedule
  • GET /api/student/results - Get exam results

Database Schema

The database includes the following main tables:

  • users - Authentication data
  • students - Student information
  • faculty - Faculty information
  • subjects - Course subjects
  • timetable - Class schedules
  • attendance - Attendance records
  • announcements - System announcements
  • fees - Fee management
  • exams - Exam schedules
  • results - Exam results

Technology Stack

Frontend

  • React 18
  • Tailwind CSS
  • Lucide React Icons
  • Axios for API calls

Backend

  • Node.js
  • Express.js
  • MySQL2
  • bcryptjs for password hashing
  • jsonwebtoken for authentication
  • CORS for cross-origin requests

Database

  • MySQL

Development Status

Phase 1 - ✅ Completed

  • Login system
  • Student dashboard with all features
  • Database integration
  • Responsive design

Phase 2 - 🚧 In Progress

  • Faculty dashboard
  • Admin dashboard
  • Advanced features

Contributing

  1. Clone the repository
  2. Follow the setup instructions
  3. Create feature branches for new development
  4. Test thoroughly before submitting PRs

License

This project is developed for educational purposes.

About

An automated timetable generation system built with React, Node.js, Express & C++. Handles multi-department scheduling with constraints like faculty availability, classroom allocation, and conflict detection.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages