尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A free classifieds board for Dushanbe and its university, in Tajik, Russian and English. Post lost & found, tutoring and rental slips with photos and a map pin. Chat, comment and install it as an app.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A multilingual (Tajik / Russian / English) web app for local announcements in Dushanbe and at the university. People post and browse announcements in four categories: Lost & Found, Tutoring, Rentals, Other. It works on laptop and phone, and can be installed on a phone home screen (PWA).
Status: see docs/12-PROGRESS-LOG.md. Everything uses free plans only.
| Desktop (1280px) | Mobile (360px) |
|---|---|
| placeholder: browse page | placeholder: browse page |
| placeholder: post detail | placeholder: post detail |
| placeholder: admin panel | placeholder: bottom tab bar |
/api/docs)Phase 1: MVP
Phase 2: Easy additions 8. Price (somoni) for Tutoring and Rentals, with unit (once / per hour / per month) 9. District filter (Sino, Firdavsi, Shohmansur, Ismoili Somoni, University campus, Other) 10. Contact options: Telegram and/or phone (at least one) 11. Sort: newest, oldest, price low to high, price high to low 12. Dark mode (light / dark / system) 13. About page 14. Post count per category in the filter
Phase 3: Medium additions 15. Up to 5 images per post (camera or gallery on phones) 16. Three languages: Tajik / Russian / English 17. Favorites (heart) and "Saved" page 18. Public user profile /users/[username] 19. Post expiry after 30 days, with "renew" 20. Report a post (spam, scam, offensive, other) 21. Share button (copy link, Telegram, native share sheet)
Phase 4: Harder additions 22. Admin role and admin panel (reports, remove posts, block/unblock users, stats) 23. In-app notifications with unread badge 24. University email verification ("Student ✓" badge) 25. Map: location pin on create, map view on browse 26. Private messages (conversation list + chat with polling) 27. Rate limiting; blocked users cannot log in or create content
| Part | Tools |
|---|---|
| Frontend | Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, shadcn/ui, lucide-react, next-intl, next-themes, TanStack Query + Table, Axios, Zod + react-hook-form, Motion, Embla, Vaul, Leaflet, Serwist (PWA) |
| Backend | NestJS 11, TypeScript, Prisma 6, PostgreSQL, JWT in httpOnly cookies, bcrypt, class-validator, Swagger, helmet, throttler, schedule |
| Services (all free) | Neon (database), Render (backend), Vercel (frontend), Cloudinary (photos), Brevo (emails), OpenStreetMap (map) |
| Quality | Jest, Supertest, React Testing Library, ESLint, Prettier, Husky, GitHub Actions |
Requirements: Node 20+, Git, PostgreSQL. Full guide: docs/05-SETUP-GUIDE.md.
npm install # root tools
npm install --prefix server
npm install --prefix client --legacy-peer-deps
# copy server/.env.example to server/.env and client/.env.example to client/.env.local, then fill in values
npm run dev # starts both apps
| File | Content |
|---|---|
| docs/01-TZ.md | Technical assignment, user stories, acceptance criteria |
| docs/02-SPEC.md | Architecture, database, API, frontend design |
| docs/03-ROADMAP.md | Stages, milestones, risks |
| docs/04-DAILY-PLAN.md | 14-day plan |
| docs/05-SETUP-GUIDE.md | Local setup |
| docs/06-DEPLOYMENT.md | Deployment |
| docs/07-CODING-STANDARDS.md | Coding rules |
| docs/08-TESTING-CHECKLIST.md | Test checklists |
| docs/09-LEARNING-NOTES.md | Glossary and Q&A |
| docs/10-PORTFOLIO.md | Portfolio and interview notes |
| docs/11-DESIGN-SYSTEM.md |
WebSockets for instant messages, a native mobile app (React Native), push notifications.
| Design system, wireframes, motion |
| docs/12-PROGRESS-LOG.md | Daily progress |