An open API service indexing awesome lists of open source software.

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

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!

---