AcadMate is a modern, all-in-one platform for educational institutions to manage student information, academic records, and communication between faculty and students. It provides role-based access for administrators, professors, and students, each with a dedicated dashboard and functionalities tailored to their needs.
- Framework: Next.js (v15)
- Language: TypeScript
- UI Library: React (v19)
- Styling: Tailwind CSS (v4)
- Animations: Framer Motion, GSAP
- UI Components: Lucide React (for icons), Sonner (for notifications), React Hot Toast
- Date Picker: React Datepicker
- Framework: Next.js API Routes
- Database: MongoDB with Mongoose
- Authentication: NextAuth.js
- API Client: Axios
- Email: Nodemailer
- Dashboard: Overview of the system.
- User Management: Create, view, and manage professor and student accounts.
- Academic Management: Manage departments, semesters, and subjects.
- Announcements: Broadcast important information to all users.
- Dashboard: Access to assigned courses and student lists.
- Attendance: Record and manage student attendance.
- Marks Entry: Input and update student marks for various exams.
- Results: View and analyze student performance.
- Dashboard: Personalized view of courses, attendance, and results.
- Profile: View and manage personal information.
- Attendance: Track attendance records.
- Results: View semester-wise results and download report cards.
- Syllabus: Access and download syllabus for their respective courses.
-
Clone the repository:
git clone https://github.com/your-username/acadmate.git cd acadmate -
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.localfile in the root of the project and add the following variables:# MongoDB Connection URI MONGO_URI=your_mongodb_connection_string # NextAuth.js secret NEXTAUTH_SECRET=your_nextauth_secret NEXTAUTH_URL=http://localhost:3000 # Email configuration (for Nodemailer) EMAIL_HOST=your_email_host EMAIL_PORT=your_email_port EMAIL_USER=your_email_user EMAIL_PASS=your_email_password
npm run devThe application will be available at http://localhost:3000.
/
├── data/ # For mock data or other data files
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js App Router pages and layouts
│ ├── components/ # Reusable React components
│ ├── constants/ # Application constants
│ ├── lib/ # Library functions and utilities
│ ├── models/ # Mongoose models
│ └── middleware.ts # Next.js middleware
├── .env.local # Environment variables (create this file)
├── next.config.ts # Next.js configuration
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
The application is ready to be deployed on Vercel, the creators of Next.js.
Contributions are welcome! Please feel free to open an issue or submit a pull request.