尚未检测到更新。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 |