A complete college management system built with React, Node.js, and MySQL.
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
- 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- Navigate to backend directory:
cd backend- Install dependencies:
npm install- Create
.envfile 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- Start the backend server:
npm run devThe backend will run on http://localhost:5000
- Navigate to frontend directory:
cd frontend- Install dependencies:
npm install- Install Tailwind CSS:
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p- Start the frontend development server:
npm startThe frontend will run on http://localhost:3000
- Email: student@syncschedule.com
- Password: student123
- Email: faculty@syncschedule.com
- Password: faculty123
- Email: admin@syncschedule.com
- Password: admin123
- ✅ Login system with JWT tokens
- ✅ Role-based authentication (Student/Faculty/Admin)
- ✅ Secure password hashing
- ✅ 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
POST /api/auth/login- User login
GET /api/student/profile- Get student profileGET /api/student/timetable- Get student timetableGET /api/student/announcements- Get announcementsGET /api/student/attendance- Get attendance recordsGET /api/student/fees- Get fee detailsGET /api/student/exams- Get exam scheduleGET /api/student/results- Get exam results
The database includes the following main tables:
users- Authentication datastudents- Student informationfaculty- Faculty informationsubjects- Course subjectstimetable- Class schedulesattendance- Attendance recordsannouncements- System announcementsfees- Fee managementexams- Exam schedulesresults- Exam results
- React 18
- Tailwind CSS
- Lucide React Icons
- Axios for API calls
- Node.js
- Express.js
- MySQL2
- bcryptjs for password hashing
- jsonwebtoken for authentication
- CORS for cross-origin requests
- MySQL
- Login system
- Student dashboard with all features
- Database integration
- Responsive design
- Faculty dashboard
- Admin dashboard
- Advanced features
- Clone the repository
- Follow the setup instructions
- Create feature branches for new development
- Test thoroughly before submitting PRs
This project is developed for educational purposes.