https://github.com/mohit838/ultimate-resume-builder
Ultimate Resume Builder is a free tools for creating new CV for candidate whose don't have much time
https://github.com/mohit838/ultimate-resume-builder
antd-design docker docker-compose expressjs mongodb mysql-database nodejs reactjs resume resume-builder tailwindcss tanstack-react-query typescript vitejs
Last synced: 5 months ago
JSON representation
Ultimate Resume Builder is a free tools for creating new CV for candidate whose don't have much time
- Host: GitHub
- URL: https://github.com/mohit838/ultimate-resume-builder
- Owner: mohit838
- Created: 2025-04-04T14:31:02.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-10-26T16:15:05.000Z (8 months ago)
- Last Synced: 2025-10-26T18:22:38.701Z (8 months ago)
- Topics: antd-design, docker, docker-compose, expressjs, mongodb, mysql-database, nodejs, reactjs, resume, resume-builder, tailwindcss, tanstack-react-query, typescript, vitejs
- Language: TypeScript
- Homepage:
- Size: 500 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐งพ Ultimate Resume Builder
Ultimate Resume Builder is a full-stack backend application designed to help users manage categories (and eventually resumes, users, etc.) using Node.js, MySQL, and Redis โ with a clean, modular codebase that's easy to scale and maintain.
---
## ๐ฆ Tech Stack
- **Node.js** with **Express** (API server)
- **TypeScript** (type safety & productivity)
- **MySQL** (relational database)
- **Redis** (caching, health check, rate-limiting)
- **Docker** (containerized development)
- **express-validator** (input validation)
- Clean Architecture: route โ controller โ service โ repository โ database
---
## ๐ ๏ธ Folder Structure
```bash
src/
โโโ config/ # App constants, database & Redis config
โโโ controllers/ # Handle incoming HTTP requests
โโโ models/ # TypeScript interfaces for data models
โโโ repositories/ # Actual DB queries
โโโ routes/ # API route definitions
โโโ services/ # Business logic between controller and repo
โโโ utils/ # Rate limiter and other helpers
โโโ errors/ # Custom error handling middleware
โโโ logger/ # Logger config (for now: uses morgan)
โโโ index.ts # Main app entry point
```
````
---
## ๐งช Sample API: Category
- **POST** `/api/categories` โ Create a category
- Later: add GET, PUT, DELETE, etc.
```json
POST /api/categories
{
"name": "Frontend",
"description": "UI work and web stuff"
}
```
---
## ๐ณ Run This Project in Dev Mode
Make sure Docker is installed.
```bash
docker-compose -f docker-compose.resume.yml up -d
```
> ๐ก This runs MySQL, Redis, MongoDB, and Redis Stack (GUI) on custom ports.
Then, in another terminal, start the Node.js server:
```bash
npm install
npm run dev
```
Or if using `ts-node` or `nodemon`:
```bash
npx ts-node src/index.ts
```
---
## ๐ Stop All Containers
```bash
docker-compose -f docker-compose.resume.yml down
```
---
## โค๏ธ Why This Project Is Structured This Way
This codebase uses a **clean architecture** pattern to:
- Keep business logic out of controllers
- Make code **testable**, **maintainable**, and **scalable**
- Help you learn best practices for real-world projects
Even though it starts small, this setup works well for growing apps like:
- Resume builder (multi-user)
- Admin panels
- CMS/blog systems
- Portfolio APIs
---
## ๐ What's Coming Next
- User authentication (JWT)
- Resume upload & generation
- Public resume sharing
- Admin dashboard
- MongoDB for storing resume templates/content
- Redis for caching & sessions
---
## ๐ค Contributing
This project is in early development. If you're learning Node.js or clean backend architecture, you're welcome to clone, fork, or contribute.
---
## ๐ฌ Contact
If you have questions, open an issue or message the creator!
---