@@ -9,20 +9,21 @@ A next-generation **Resume Building & Career Ecosystem** that automatically buil
99## 📘 Table of Contents
1010
11111 . [ Overview] ( #overview )
12- 2 . [ Architecture] ( #architecture )
13- 3 . [ Tech Stack] ( #tech-stack )
14- 4 . [ Microservices] ( #microservices )
15- 5 . [ Data Flow] ( #data-flow )
16- 6 . [ Business Logic] ( #business-logic )
17- 7 . [ Folder Structure] ( #folder-structure )
18- 8 . [ Installation] ( #installation )
19- 9 . [ Running the System] ( #running-the-system )
20- 10 . [ API Endpoints] ( #api-endpoints )
21- 11 . [ Events & Topics] ( #events--topics )
22- 12 . [ Testing] ( #testing )
23- 13 . [ Environment Variables] ( #environment-variables )
24- 14 . [ Troubleshooting] ( #troubleshooting )
25- 15 . [ Future Enhancements] ( #future-enhancements )
12+ 2 . [ Quick Demo] ( #quick-demo )
13+ 3 . [ Architecture] ( #architecture )
14+ 4 . [ Tech Stack] ( #tech-stack )
15+ 5 . [ Microservices] ( #microservices )
16+ 6 . [ Data Flow] ( #data-flow )
17+ 7 . [ Business Logic] ( #business-logic )
18+ 8 . [ Folder Structure] ( #folder-structure )
19+ 9 . [ Installation] ( #installation )
20+ 10 . [ Running the System] ( #running-the-system )
21+ 11 . [ API Endpoints] ( #api-endpoints )
22+ 12 . [ Events & Topics] ( #events--topics )
23+ 13 . [ Testing] ( #testing )
24+ 14 . [ Environment Variables] ( #environment-variables )
25+ 15 . [ Troubleshooting] ( #troubleshooting )
26+ 16 . [ Future Enhancements] ( #future-enhancements )
2627
2728---
2829
@@ -45,6 +46,47 @@ To create a connected backend that integrates multiple sub-platforms — Interns
4546
4647---
4748
49+ ## 🚀 Quick Demo (60 seconds)
50+
51+ Get a fully working resume ecosystem with real data in one command:
52+
53+ ``` bash
54+ npm run demo
55+ ```
56+
57+ Then open http://localhost:5173 and log in with any demo account:
58+
59+ | Name | Email | Password | Resume Score |
60+ | ------| -------| ----------| --------------|
61+ | Arjun Sharma (CS Student) | arjun@demo.com | demo1234 | 87/100 |
62+ | Priya Nair (Bootcamp Grad) | priya@demo.com | demo1234 | 72/100 |
63+ | Rahul Mehta (Senior Dev) | rahul@demo.com | demo1234 | 95/100 |
64+
65+ ### 📸 Screenshots
66+ > Run ` npm run demo ` to see the full UI live.
67+
68+ ```
69+ +-------------------------------------------------------------+
70+ | RESUME ECOSYSTEM DASHBOARD [Logout] |
71+ | |
72+ | Welcome back, Arjun! |
73+ | Resume Score: 87/100 (Top 10%) |
74+ | |
75+ | [ Recent Activities ] |
76+ | --------------------------------------------------------- |
77+ | • Google Summer of Code 2024 [VERIFIED] +15 pts |
78+ | • AWS Solutions Architect [VERIFIED] +10 pts |
79+ | • Smart India Hackathon Finalist [VERIFIED] +12 pts |
80+ | |
81+ | [ Your Resume ] |
82+ | --------------------------------------------------------- |
83+ | [View PDF] [Share Link] [History] |
84+ | |
85+ +-------------------------------------------------------------+
86+ ```
87+
88+ ---
89+
4890## 🏗️ Architecture
4991
5092```
@@ -61,33 +103,35 @@ Integration → Activity → Verification → Resume → Notification → File R
61103
62104## ⚙️ Tech Stack
63105
64- | Layer | Technology |
65- | :-------- | :-------------------------------------- |
66- | Runtime | Node.js 20+ (TypeScript/JavaScript) |
67- | Framework | Express.js / Fastify |
68- | ORM | Prisma with PostgreSQL |
69- | Cache | Redis 7 |
70- | Messaging | KafkaJS (Kafka 3.7+) |
71- | Auth | JWT (HS256/RS256) |
72- | Docs | Swagger / OpenAPI |
73- | Infra | Docker Compose |
74- | Testing | Jest / Supertest / Testcontainers |
75- | Utils | Nodemon, Concurrently, ESLint, Prettier |
106+ | Layer | Technology |
107+ | :--- | :--- |
108+ | ** Frontend** | ** React 18** , ** TypeScript** , ** TailwindCSS** , ** Vite** |
109+ | ** Backend** | ** Node.js 20+** , ** Fastify** , ** Express** |
110+ | ** Database** | ** PostgreSQL** (via Supabase or Local Docker) |
111+ | ** ORM** | ** Prisma** (Schema-driven data access) |
112+ | ** Messaging** | ** Kafka** (Event-driven architecture) |
113+ | ** Cache** | ** Redis** (Rate limiting & caching) |
114+ | ** Auth** | ** JWT** (Stateless authentication) |
115+ | ** Docs** | ** Swagger / OpenAPI** |
116+ | ** Infrastructure** | ** Docker Compose** |
76117
77118---
78119
79120## 🧱 Microservices
80121
81- | Service | Port | Responsibility |
82- | ------------------------ | ------ | ------------------------------------------------- |
83- | ** api-gateway** | ` 4000 ` | Central router, CORS, JWT pass-through |
84- | ** auth-service** | ` 4010 ` | User registration, login, JWT issuance |
85- | ** activity-service** | ` 4020 ` | Manage internships, courses, hackathons, projects |
86- | ** verification-service** | ` 4030 ` | Verify authenticity (hash/signature/OAuth) |
87- | ** resume-service** | ` 4040 ` | Build, rank, and version resumes |
88- | ** integration-service** | ` 4050 ` | Connect external APIs (GitHub, Coursera, etc.) |
89- | ** notification-service** | ` 4060 ` | Consume ` resume.version.published ` events |
90- | ** file-service** | ` 4070 ` | Render resume PDFs and templates |
122+ | Service | Port | Responsibility |
123+ | :--- | :--- | :--- |
124+ | ** web-app** | ` 5173 ` | Modern React Frontend Dashboard |
125+ | ** api-gateway** | ` 4000 ` | Central router, CORS, JWT pass-through |
126+ | ** auth-service** | ` 4010 ` | User registration, login, JWT issuance |
127+ | ** activity-service** | ` 4020 ` | Manage internships, courses, hackathons |
128+ | ** verification-service** | ` 4030 ` | Verify authenticity (hash/signature) |
129+ | ** resume-service** | ` 4040 ` | Build, rank, and version resumes |
130+ | ** integration-service** | ` 4050 ` | Connect external APIs (GitHub, LinkedIn) |
131+ | ** notification-service** | ` 4060 ` | Email & WebSocket notifications |
132+ | ** file-service** | ` 4070 ` | Render resume PDFs |
133+
134+ ---
91135
92136---
93137
@@ -175,48 +219,52 @@ resume-ecosystem/
175219* Node.js ≥ 20
176220* Docker & Docker Compose
177221* npm / pnpm
178- * Kafka & Postgres ports open (` 9092 ` , ` 5432 ` )
179222
180223### 1. Clone Repository
181224
182225``` bash
183- git clone https://github.com/< yourname > /resume-ecosystem.git
184- cd resume-ecosystem
226+ git clone https://github.com/srivilliamsai /resume-ecosystem-node .git
227+ cd resume-ecosystem-node
185228```
186229
187- ### 2. Install Dependencies & Build
230+ ### 2. Install Dependencies
188231
189232``` bash
190233npm install
191- npm run prisma:generate
192- npm run build
193234```
194235
195- ### 3. Start Infrastructure
236+ ### 3. Start Infrastructure (Database & Kafka)
196237
197238``` bash
198- cd docker
199- docker compose up -d
239+ npm run docker:up
200240```
241+ > Wait 10-15 seconds for containers to initialize.
201242
202- Services started:
243+ ### 4. Initialize Database
203244
204- * Kafka → localhost:9092
205- * Zookeeper → localhost:2181
206- * Postgres → localhost:5432
207- * Redis → localhost:6379
208- * Kafka UI → [ http://localhost:8080 ] ( http://localhost:8080 )
245+ ``` bash
246+ npm run db:push
247+ npm run seed # (Optional: Populates demo data)
248+ ```
209249
210- ### 4 . Run All Services
250+ ### 5 . Run Full Stack (Frontend + Backend)
211251
212252``` bash
213- cd ..
214253npm run dev
215254```
216255
217256---
218257
219- ## 🌐 API Endpoints
258+ ## 🌐 Access Points
259+
260+ | Application | URL |
261+ | :--- | :--- |
262+ | ** Frontend Dashboard** | [ http://localhost:5173 ] ( http://localhost:5173 ) |
263+ | ** API Documentation** | [ http://localhost:4000/docs ] ( http://localhost:4000/docs ) |
264+ | ** Kafka UI** | [ http://localhost:8080 ] ( http://localhost:8080 ) |
265+ | ** Prisma Studio** | ` npx prisma studio ` |
266+
267+ ---
220268
221269### Auth Service
222270
@@ -326,12 +374,26 @@ FILE_PORT=4070
326374
327375---
328376
329- ## 🧭 Future Enhancements
377+ ## 🧭 Roadmap
330378
331- * Add OAuth 2.0 full integration (Google, LinkedIn, Coursera)
332- * Implement GraphQL API gateway
333- * Introduce ML-powered Resume Scoring
334- * Add real-time WebSocket notifications
335- * Deploy to Kubernetes with Helm charts
379+ - [x] ** Frontend:** React + Tailwind Dashboard
380+ - [x] ** Backend:** 8 Microservices Architecture
381+ - [x] ** Messaging:** Kafka Event Pipeline
382+ - [x] ** Database:** PostgreSQL + Prisma Schema
383+ - [ ] ** Auth:** OAuth 2.0 (Google/GitHub/LinkedIn)
384+ - [ ] ** Deployment:** Docker & Kubernetes Helm Charts
385+ - [ ] ** AI:** Resume Scoring & Suggestion Engine
336386
337- ---
387+ ## 🤝 Contributing
388+
389+ Contributions are welcome! Please open an issue first to discuss what you would like to change.
390+
391+ 1 . Fork the Project
392+ 2 . Create your Feature Branch (` git checkout -b feature/AmazingFeature ` )
393+ 3 . Commit your Changes (` git commit -m 'Add some AmazingFeature' ` )
394+ 4 . Push to the Branch (` git push origin feature/AmazingFeature ` )
395+ 5 . Open a Pull Request
396+
397+ ## 📄 License
398+
399+ Distributed under the MIT License. See ` LICENSE ` for more information.
0 commit comments