Group work ethiopia
# HojiiLink Ethiopia - Freelance Marketplace Platform
A high-performance, bilingual (English & Afaan Oromo) Freelance Marketplace Platform similar to Upwork and Fiverr, fully optimized for Ethiopian and international talent.
---
## STEP 1: Complete System & Directory Architecture
Below is the complete monorepo layout mapping the frontend client, backend APIs, services, and shared entities.
```
hojiilink-ethiopia/
├── backend/ # Node.js + Express + TypeScript API
│ ├── src/
│ │ ├── controllers/ # API Handlers for Jobs, Proposals, Payments
│ │ │ ├── jobController.ts
│ │ │ ├── proposalController.ts
│ │ │ ├── walletController.ts
│ │ │ └── userController.ts
│ │ ├── middleware/ # Auth verification, Rate limiter, Error catcher
│ │ │ ├── auth.ts
│ │ │ └── errorHandler.ts
│ │ ├── models/ # DB schema types & request payload validation
│ │ │ ├── types.ts
│ │ │ └── validators.ts
│ │ ├── routes/ # Express API Router allocations
│ │ │ ├── jobs.ts
│ │ │ ├── proposals.ts
│ │ │ ├── payments.ts
│ │ │ └── users.ts
│ │ ├── services/ # Integration helpers
│ │ │ ├── chapaService.ts # Chapa Payment Integration API (Telebirr/CBE)
│ │ │ └── geminiService.ts # Google Gemini API AI translation & matching
│ │ └── server.ts # Backend Express Entry Point
│ ├── tsconfig.json
│ └── package.json
├── frontend/ # React + Vite + TypeScript Client
│ ├── src/
│ │ ├── components/ # Premium Glassmorphism UI & Visual layout wrappers
│ │ │ ├── GlassCard.tsx
│ │ │ ├── LanguageSwitcher.tsx
│ │ │ ├── JobCard.tsx
│ │ │ └── proposalModal.tsx
│ │ ├── context/ # Translation & Global user session state
│ │ │ ├── LanguageContext.tsx
│ │ │ └── AuthContext.tsx
│ │ ├── hooks/ # React Query triggers for seamless server sync
│ │ │ ├── u …