https://github.com/radhakishan404/candidate-cv-builder-api
https://github.com/radhakishan404/candidate-cv-builder-api
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/radhakishan404/candidate-cv-builder-api
- Owner: radhakishan404
- Created: 2022-11-11T13:39:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-11T13:45:18.000Z (over 2 years ago)
- Last Synced: 2025-02-12T09:53:12.473Z (3 months ago)
- Language: JavaScript
- Size: 624 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Candidate CV Builder API
- This is simple a candidate resume builder application.
- Following are the feature of this application
- Show the list of all the added user with server side pagination handling with image and download link of resume.
- When new user is created the system create the pdf file (resume) of the user and store it in local.
- If you face any issue regarding setup please drop a mail on [email protected].
- Frontend repository URL is https://github.com/radhakishan404/candidate-cv-builder-react.git# How to setup
- You require these tools installed beforehand:
- MongoDB Compass https://www.mongodb.com/products/compass
- You have to check in ```app->config->data.js``` file and and replace ```mongodb://localhost/candidate-cv-builder``` this url based on the connectivity you want.
- NodeJS https://nodejs.org/en/download/
- This application was created on nodejs v14.16.1. Please install that for smooth and error free operation.- Clone the repo:
- https://github.com/radhakishan404/candidate-cv-builder-api.git
- Before setup of frontend application, you need to clone the api repository and make you get success message of connection with server and mongodb.
- You will get something like this when you start your application by running ```npm run dev```.
```== Server running on Port == 4000 == Connected To MongoDB === localhost```- Application:
- To start the server, run these commands:
- `npm install`
- `npm run dev`
- After that your server will be host on : `localhost:4000`.# Detailed description about the project
- When we create the user following steps happens
1. First we validate weather the request method is post or not.
2. After validating that, we start the middleware image upload, here we have a middleware which handle all the image processing part.
3. After image gets upload in local directory we pass the image data in a different object along with the body that was passed through the payload.
4. We validate which field are allowed and the validation of certains field.
5. After we perform some data manipulation in controller file, and pass the object in services to upload in mongodb collection.
6. After successfully creation of document, we pass the result of user in a helper function which create the pdf file using ```puppeteer```.
7. We have separate template for body, header and the footer of resume. you can check that inside ```app->templates->condidateTemplate.js``` file.
8. We pass our data inside that template and replace all necessary documents for a dynamic smooth operation and load it into pupeeteer page.