Skip to content

Commit a6ea2fd

Browse files
authored
Merge pull request #47 from chingu-voyages/docs/update-readme
docs: update README with voyage timeline, LinkedIn links, and latest …
2 parents 84824d4 + 594c41f commit a6ea2fd

1 file changed

Lines changed: 44 additions & 29 deletions

File tree

README.md

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
[![Supabase](https://img.shields.io/badge/Supabase-PostgreSQL-3ECF8E?style=flat-square&logo=supabase&logoColor=white)](https://supabase.com)
88
[![Groq](https://img.shields.io/badge/Groq-LLM-orange?style=flat-square)](https://groq.com)
99
[![Vercel](https://img.shields.io/badge/Deployed_on-Vercel-black?style=flat-square&logo=vercel)](https://vercel.com)
10-
[![CI](https://img.shields.io/badge/CI-GitHub_Actions-2088FF?style=flat-square&logo=github-actions&logoColor=white)](https://github.com/ThanasisSoftwareDeveloper/V61-tier3-team-34/actions)
10+
[![CI](https://img.shields.io/badge/CI-GitHub_Actions-2088FF?style=flat-square&logo=github-actions&logoColor=white)](https://github.com/chingu-voyages/V61-tier3-team-34/actions)
11+
[![Release](https://img.shields.io/badge/Release-v0.1.0-blue?style=flat-square)](https://github.com/chingu-voyages/V61-tier3-team-34/releases/tag/v0.1.0)
1112

1213
---
1314

@@ -28,13 +29,21 @@ Candidates waste time hunting for practice questions that don't even match the r
2829

2930
---
3031

32+
## 🗓️ Voyage Timeline
33+
34+
**Chingu Voyage V61 · Tier 3 · Team 34**
35+
📅 **1 June 2026 – 29 July 2026**
36+
37+
---
38+
3139
## ✨ Key Features
3240

3341
- 📂 **Upload or paste** a job description — `.txt`, `.pdf`, `.docx` supported (`.doc` intentionally excluded)
3442
- 🧠 **AI-powered extraction** of structured job data (title, skills, responsibilities, seniority, etc.) via Groq
3543
-**Generated interview questions** across three categories — Technical, Behavioral, Experience-based
3644
- 📋 **Job Summary screen** to review the extracted data before practicing
3745
- 🎤 **Mock Interview mode** — one question at a time, with a "Show Answer" reveal and STAR-method tips
46+
- 🎨 **Consistent UI design** — unified button styles and accessible cursor interactions across all pages
3847
- 📱 Fully responsive, accessible UI
3948

4049
---
@@ -63,16 +72,18 @@ V61-tier3-team-34/
6372
│ ├── job-summary/page.js # Extracted job data review
6473
│ ├── interview-questions/page.js # Questions by category (tabs)
6574
│ ├── mock-interview/page.js # One-question-at-a-time practice
75+
│ ├── faq/page.js # FAQ page
6676
│ └── api/
6777
│ ├── ingest/route.js # File text extraction only — no Groq calls
6878
│ ├── parse/route.js # Groq: raw JD text -> 17-field structured JSON
69-
│ └── generate-questions/route.js # Groq: structured JSON -> question set
79+
│ └── generate-questions/route.js # Groq: structured JSON -> question set (3 separate calls per category)
7080
├── components/ # Sidebar, Footer, cards, upload zone
7181
├── lib/
7282
│ ├── jobExtraction.js # Groq prompt + schema for JD parsing
7383
│ └── questionGeneration.js # Groq prompt for question generation
7484
├── supabase/schema.sql # Database schema (run once per project)
75-
├── test/ # Vitest unit tests (23 passing)
85+
├── test/ # Vitest unit tests
86+
├── e2e/ # Playwright E2E tests
7687
└── .github/workflows/ # CI — Vitest on every PR
7788
```
7889

@@ -89,7 +100,7 @@ V61-tier3-team-34/
89100
| **Database** | Supabase (PostgreSQL) |
90101
| **AI Layer** | Groq — `llama-3.1-8b-instant` |
91102
| **File parsing** | `pdf-parse` (PDF), `mammoth` (DOCX) |
92-
| **Testing** | Vitest (unit), Playwright (planned E2E) |
103+
| **Testing** | Vitest (unit), Playwright (E2E) |
93104
| **Hosting** | Vercel |
94105
| **CI/CD** | GitHub Actions — runs Vitest on every Pull Request |
95106

@@ -108,7 +119,7 @@ V61-tier3-team-34/
108119
### 1. Clone the repo
109120

110121
```bash
111-
git clone https://github.com/ThanasisSoftwareDeveloper/V61-tier3-team-34.git
122+
git clone https://github.com/chingu-voyages/V61-tier3-team-34.git
112123
cd V61-tier3-team-34
113124
```
114125

@@ -120,12 +131,12 @@ cp .env.example .env.local # fill in Supabase + Groq credentials
120131
```
121132

122133
```
123-
SUPABASE_URL=
124-
SUPABASE_SERVICE_ROLE_KEY=
134+
NEXT_PUBLIC_SUPABASE_URL=
135+
NEXT_PUBLIC_SUPABASE_ANON_KEY=
125136
GROQ_API_KEY=
126137
```
127138

128-
> `SUPABASE_SERVICE_ROLE_KEY` is server-only and must never be exposed in client-side code or `NEXT_PUBLIC_` variables.
139+
> Never commit `.env.local` — it is already in `.gitignore`. Use `.env.example` as a reference.
129140
130141
Run `supabase/schema.sql` in the Supabase SQL editor for your project to set up the database.
131142

@@ -153,9 +164,10 @@ App runs at `http://localhost:3000`.
153164

154165
1. Open the [live app](https://v61-tier3-team-34.vercel.app) (or `http://localhost:3000` locally)
155166
2. Upload a job description file, or paste the text directly
156-
3. Review the extracted job data on the **Job Summary** screen
157-
4. Browse generated **Technical / Behavioral / Experience** questions
158-
5. Switch to **Mock Interview** mode to practice one question at a time
167+
3. Select the number of questions per category (up to 5)
168+
4. Review the extracted job data on the **Job Summary** screen
169+
5. Browse generated **Technical / Behavioral / Experience** questions
170+
6. Switch to **Mock Interview** mode to practice one question at a time
159171

160172
> ⏳ On first use after a period of inactivity, file-upload parsing may have a short cold-start delay — this is expected Vercel free-tier behavior.
161173
@@ -167,6 +179,7 @@ The Groq free tier's tokens-per-minute limit is a hard constraint the app is bui
167179

168180
- Input text is truncated at **24,000 characters** before being sent to Groq
169181
- The model was switched from `llama-3.3-70b-versatile` to **`llama-3.1-8b-instant`** specifically to stay within TPM limits
182+
- Question generation uses **3 separate Groq calls** (one per category) to ensure the correct number of questions is returned
170183

171184
---
172185

@@ -182,46 +195,48 @@ To handle Groq's free-tier limits and potential network hiccups, the backend imp
182195

183196
| Check | Tool | Status |
184197
| --- | --- | --- |
185-
| Unit tests | Vitest |23 tests passing |
198+
| Unit tests | Vitest |70+ tests passing |
186199
| CI pipeline | GitHub Actions | ✅ runs on every Pull Request |
187-
| E2E tests | Playwright | 🔜 planned |
200+
| E2E tests | Playwright | ✅ implemented |
188201

189202
---
190203

191204
## 🗺️ Roadmap
192205

193-
- [ ] Rate limit handling & input validation hardening
194-
- [ ] Session retrieval API
195-
- [ ] Environment variables documentation
206+
- [x] Rate limit handling & exponential backoff
207+
- [x] Environment variables documentation (.env.example)
208+
- [x] Consistent button styles & cursor-pointer across all pages (CT-76, CT-77)
209+
- [x] Question count fix — separate Groq call per category (CT-74)
210+
- [x] Playwright E2E test suite
211+
- [x] Mobile navigation accessibility fix
212+
- [x] FAQ section
196213
- [ ] Loading skeletons for Job Summary & Interview Questions pages
197214
- [ ] Error state UI
198-
- [ ] Mobile navigation fix
199215
- [ ] Server-side word count enforcement for PDF/DOCX uploads
200-
- [ ] GitHub Actions pipeline documentation
201-
- [ ] Playwright E2E test suite
216+
- [ ] Session retrieval API
202217
- [ ] Vercel deployment guide
203218

204219
---
205220

206221
## 👥 Meet the Team — Chingu Voyage V61, Tier 3, Team 34
207222

208-
| Name | Role |
209-
| --- | --- |
210-
| **Roger** | Scrum Master |
211-
| **Thanasis** | Web Developer |
212-
| **Jason** | Web Developer |
213-
| **Vanessa** | Web Developer |
214-
| **Simbongile** | Web Developer |
215-
| **Val** | Technical Guide |
223+
| Name | Role | GitHub | LinkedIn |
224+
| --- | --- | --- | --- |
225+
| **Roger Banner** | Scrum Master | [RBanner](https://github.com/RBanner) | [Roger Banner](https://www.linkedin.com/in/roger-banner/) |
226+
| **Val Lysenko** | Technical Guide | [Valeriusdev](https://github.com/Valeriusdev) | [Valeriy Lysenko](https://www.linkedin.com/in/valeriylysenko/) |
227+
| **Vanessa Santos** | Web Developer | [nessa-dev](https://github.com/nessa-dev) | [Vanessa Santos](https://www.linkedin.com/in/vanessa-dev-santos/) |
228+
| **Simbongile Mkhotheli** | Web Developer | [simbongile-mkhotheli](https://github.com/simbongile-mkhotheli) | [Simbongile Mkhotheli](https://www.linkedin.com/in/mkoteli/) |
229+
| **Thanasis Koufos** | Web Developer | [ThanasisSoftwareDeveloper](https://github.com/ThanasisSoftwareDeveloper) | [Thanasis Koufos](https://www.linkedin.com/in/thanasis-koufos-software-developer/) |
230+
| **Jason Mui** | Web Developer | [jsnmui](https://github.com/jsnmui) | [Jason Mui](https://www.linkedin.com/in/jasonmui2026/) |
216231

217232
Project tracked on Jira: `bannerbright.atlassian.net` (project **CT**).
218233

219234
---
220235

221236
## 📄 License
222237

223-
Built as part of [Chingu](https://www.chingu.io) Voyage V61.
238+
Built as part of [Chingu](https://www.chingu.io) Voyage V61 · 1 June 2026 – 29 July 2026.
224239

225240
---
226241

227-
Built by the DashFetch team · [Live App](https://v61-tier3-team-34.vercel.app) · [Repo](https://github.com/ThanasisSoftwareDeveloper/V61-tier3-team-34)
242+
Built by the DashFetch team · [Live App](https://v61-tier3-team-34.vercel.app) · [Repo](https://github.com/chingu-voyages/V61-tier3-team-34)

0 commit comments

Comments
 (0)