# MERN-SRM
## Overview
The MERN SRM (student relationship management) project is a web application that enables users to effortlessly create and manage their resumes. It offers an intuitive user interface to add personal information, education details, work experiences, skills, and more. Additionally, the project provides customizable resume templates for PDF downloads and an upcoming feature for generating QR codes for resumes.
## Technologies Used
- MongoDB: A NoSQL database used for storing application data.
- Express.js: A backend framework for building APIs in Node.js.
- React.js: A JavaScript library for constructing user interfaces.
- Node.js: A runtime environment for server-side JavaScript.
## Setup Instructions
Follow these steps to set up the MERN SRM project on your local machine:
### Step 1: Clone the Repository
```bash
git clone <repository_url>
cd mern-resume-builder
# Navigate to the Beckend directory
cd Backend
# Install backend dependencies
npm install
# Navigate to the Frontend directory
cd Frontend
# Install Frontend-side dependencies
npm install
Make sure you have MongoDB installed and running. Update the MongoDB connection URL in config/default.json
with your MongoDB configuration.
# Start the backend server
npm run server
# Start the React app (in the FrontEnd directory)
npm start
The MERN Resume Builder project provides the following APIs and endpoints:
Endpoint: /api/register
Description: Allows users to register by providing their email, password, and other optional details.
Example Request Body:
{
"email": "[email protected]",
"password": "userpassword",
"name": "John Doe",
"mobileNumber": "1234567890"
}
Endpoint: /api/login
Description: Authenticates users based on their email and password and returns a JWT token for further requests.
Example Request Body:
{
"email": "[email protected]",
"password": "userpassword"
}
Endpoint: /api/user
Description: Retrieves the user's information based on the provided JWT token.
Authorization: JWT token in headers
Example Response:
{
"name": "John Doe",
"email": "[email protected]",
"mobileNumber": "1234567890",
"education": [
{
"degree": "Bachelor of Science",
"university": "Example University",
"year": 2020
}
],
"skills": ["MongoDB", "Express.js", "React.js", "Node.js"],
"experience": [
{
"company": "Example Company",
"position": "Software Engineer",
"start_date": "2021-01-01",
"end_date": "2022-12-31"
}
],
"projects": [
{
"name": "Project 1",
"description": "A web application built with the MERN stack.",
"url": "https://project1.example.com"
}
]
}
Endpoint: /api/update
Description: Allows users to update their profile details.
Authorization: JWT token in headers
Example Request Body (to update name and mobileNumber):
{
"name": "John Doe",
"mobileNumber": "1234567890",
"education": [
{
"degree": "Bachelor of Science",
"university": "Example University",
"year": 2020
}
],
"skills": ["MongoDB", "Express.js", "React.js", "Node.js"],
"experience": [
{
"company": "Example Company",
"position": "Software Engineer",
"start_date": "2021-01-01",
"end_date": "2022-12-31"
}
],
"projects": [
{
"name": "Project 1",
"description": "A web application built with the MERN stack.",
"url": "https://project1.example.com"
}
]
}
Endpoint: /api/logout
Description: Logs out the user and invalidates the JWT token.
The MERN Resume Builder project offers the following functionalities:
- Registration: Users can create an account by providing their email, password, and optional details.
- Login: Registered users can log in using their credentials to access their profiles.
- Profile Management: Users can view and update personal details, education, work experiences, skills, and projects.
- PDF Download: Users can download their resume in PDF format using customizable templates.
- QR Resume (Upcoming): The project will soon introduce QR code generation for resumes.
Contributions to the MERN Resume Builder project are encouraged! To contribute:
- Fork the repository and create a new branch for your changes.
- Make and commit your changes to the branch.
- Push your changes to your forked repository.
- Create a pull request with a detailed description of your modifications.
- Await code review and feedback from maintainers.
Thank you for your interest in contributing!
This project is open-source and licensed under the MIT License. You're welcome to use and modify the code to suit your needs.
Feel free to use this template for your MERN Resume Builder project's README, adapting it to your project's specific details and structure.