A full-stack MERN (MongoDB, Express.js, React, Node.js) web application designed to manage student admissions and generate offer letters in dynamic PDF format.
- Add new student records with academic and personal details
- View all students in a table with search and filter options
- Download automatically generated PDF offer letters with populated student data using
react-pdf
- Add and manage multiple course offerings
- View courses with filtering capabilities for easier navigation
- Each student has a downloadable Offer Letter in PDF
- PDF uses a predefined offer letter format with live student data populated dynamically
- Styled and rendered using
@react-pdf/renderer
- Simple admin login system
- Default credentials:
- Email:
[email protected] - Password:
admin
- Email:
| Layer | Technology |
|---|---|
| Frontend | React, Redux-toolkit, React Router, Bootstrap |
| PDF Generation | @react-pdf/renderer |
| Backend | Node.js, Express.js |
| Database | MongoDB |
| Authentication | JWT |
- Node.js & npm
- MongoDB (local or cloud instance)
git clone https://github.com/yourusername/admissions-mern-app.git
cd admissions-mern-appcd backend
npm install
npm run devConfigure the .env file with the following variables:
PORT=8000
CORS_ORIGIN=your_frontend_url
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
NODE_ENV=development/productionAdd your database name in the constants.js file.
cd ../frontend
npm install
npm run startThe frontend will run at http://localhost:3000 and connect to the backend server.
.
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── db/
│ │ ├── models/
│ │ ├── middleware/
│ │ ├── routes/
│ │ ├── utils/
│ │ ├── app.js
│ │ ├── constants.js
│ │ └── index.js
│ ├── .env
│ ├── ...
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── slices/
│ │ └── App.css
│ │ └── App.jsx
│ │ └── index.js
│ │ └── store.js
│ │ └── ...
│ ├── ...
└── README.md
- Filter and search students/courses
- Add/edit/delete functionality for both modules
- PDF download button for each student record
- Role-based authentication (admin, staff, etc.)
- Email integration to send offer letters
- Activity logs and audit trails
For accessing the deployed version of the application, use the following credentials:
- Email:
[email protected] - Password:
admin
Note: These credentials are for the demo purpose and may be changed in a production environment.
Built for institutions to simplify the student admission process with automation and clarity.