Skip to content

A MERN Stack application to manage admissions of students and generate their offer letters in PDF format.

Notifications You must be signed in to change notification settings

param-chandarana/admissions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MERN Stack Admissions Management and Offer Letter Generation System

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.

Key Features

Student Management

  • 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

Course Management

  • Add and manage multiple course offerings
  • View courses with filtering capabilities for easier navigation

Offer Letter Generation

  • 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

Authentication

  • Simple admin login system
  • Default credentials:

Tech Stack

Layer Technology
Frontend React, Redux-toolkit, React Router, Bootstrap
PDF Generation @react-pdf/renderer
Backend Node.js, Express.js
Database MongoDB
Authentication JWT

Getting Started

Prerequisites

  • Node.js & npm
  • MongoDB (local or cloud instance)

Installation

1. Clone the repository

git clone https://github.com/yourusername/admissions-mern-app.git
cd admissions-mern-app

2. Backend Setup

cd backend
npm install
npm run dev

Configure 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/production

Add your database name in the constants.js file.

3. Frontend Setup

cd ../frontend
npm install
npm run start

The frontend will run at http://localhost:3000 and connect to the backend server.

📂 Project Structure (Simplified)

.
├── 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

Features in Detail

  • Filter and search students/courses
  • Add/edit/delete functionality for both modules
  • PDF download button for each student record

Future Enhancements

  • Role-based authentication (admin, staff, etc.)
  • Email integration to send offer letters
  • Activity logs and audit trails

Login Credentials

For accessing the deployed version of the application, use the following credentials:

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.

About

A MERN Stack application to manage admissions of students and generate their offer letters in PDF format.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published