BITAcademia is the comprehensive academic platform designed and developed for BIT Mesra. This website aims to streamline and enhance the academic management experience for students, faculty, and administration. BITAcademia offers a wide array of features tailored to meet the diverse needs of the academic community.
- Next.js: Builds and serves the frontend and hosts the API in a single app.
- React: For building the user interface.
- Express.js: For handling the server-side logic.
- MongoDB: For database management.
- Node.js: As the runtime environment.
- Multer: For handling multipart/form-data, especially file uploads.
- Cloudinary: For managing media assets.
- Tailwind CSS: For styling and responsive design.
- A responsive academic MERN application built to enhance the management of students’ academic data.
- Provides dashboards to both students and faculty along with management tools enabling reporting and analytics.
- Implemented media handling through Cloudinary and Multer.
- Designed student routes for managing data and admin routes for analytic reporting.
- Developed RESTful APIs for creating, updating, deleting, and editing records.
- Implemented a cookie-based authentication system using JWT and bcrypt and facilitated data export using excel.js.
The frontend and backend live in one Next.js app, so there is a single package.json,
a single .env and a single server to deploy.
pages/ Next.js pages (the React app is served for every non-API route)
src/ React frontend (components, react-router routes)
server/ Express API: routes, controllers, models, cron jobs, Socket.IO handlers
server.js Entry point: Next.js + Express API (/api) + Socket.IO + cron on one port
public/ Static assets; runtime uploads go to public/uploads
scripts/ One-off maintenance and seed scripts
Requires Node.js 20.9+ and MongoDB.
cp .env.example .env # fill in MONGODB_URI, JWT secrets, mail credentials, ...
npm install
npm run dev # http://localhost:3000 (frontend + /api/v1 + Socket.IO)npm run build
npm start # serves everything on $PORT (default 3000)Recommended: any host that runs a long-lived Node.js process (Render, Railway, Fly.io,
a VPS, or docker compose up --build, see docs/DOCKER_SETUP.md).
Use npm run build as the build command and npm start as the start command. Everything
works there: pages, API, chat, cron jobs and uploads.
Vercel: import the repo with the Root Directory left empty and the Next.js preset.
Pages and the REST API (pages/api/[...path].js) work, but serverless functions cannot
keep a Socket.IO connection, run node-cron or keep files on disk, so live chat, the
scheduled emails and uploaded documents do not work there.
NEXT_PUBLIC_* variables are inlined into the frontend at build time, so set them before
npm run build.
- Student Dashboard: Provides students with a personalized view of their academic journey, including courses, grades, and upcoming deadlines.
- Faculty Dashboard: Allows faculty members to manage their courses, track student progress, and communicate with students efficiently.
- Profile Updates: Students can easily update their personal and academic information, including:
- Name
- Branch
- Section
- Awards
- Projects
- Academic Details
- Higher Education Information
- Examination History
- Achievements and Activities: Students can showcase their extracurricular achievements and involvement in various activities.
- Custom Report Generation: The college can generate detailed reports on internships and placements, filtered by various criteria such as:
- Students placed in specific companies (e.g., Google)
- Sections and branches (e.g., Section C, CSE branch)
- Data-Driven Insights: Administrators can gain insights into student performance, placement trends, and more, helping in strategic planning and decision-making.
- Student Profile Access: Faculty members can access complete student profiles by entering the roll number, which includes all the updated details provided by the students.
- Advising and Mentoring: Facilitates better academic advising and mentoring by providing faculty with comprehensive student information.
- Secure Authentication: Ensures that only authorized users can access the respective dashboards and features.
- User-Friendly Interface: Designed with a focus on ease of use, making it simple for all users to navigate and utilize the platform effectively.
- Responsive Design: Optimized for various devices, ensuring a seamless experience on desktops, tablets, and smartphones.
Faculty Incharge - Prof. Suvendu Kanungo, Department of CSE, BIT Mesra.
- Kushagra Sahay - Full Stack Developer (Team Leader)
- Sumit Kumar - Full Stack Developer (Team Leader)
- Akshat Tambi - Full Stack Developer
- Parth Shresth - Frontend Developer
- Ankit Verma - Backend Developer
- Hritabhash Ray - Frontend Developer and Data Analyst
- Shaurya Aditya Verma - Full Stack Developer
- Suryansh Dey - Full Stack Developer
- Saquib Jawed - Backend Developer
- Ankit Singh Sisodiya - Backend Developer
- Yash Aggarwal - Frontend Developer