How twerif/workzora-be works
Workzora is a freelance-work marketplace: users discover projects and posts, clients publish work, freelancers communicate and manage payment milestones, and administrators oversee categories, content, and identity verification. The API gateway exposes HTTP endpoints and dispatches requests to NestJS services; selected service controllers then delegate to domain services. The tree also shows an admin panel and separate search, bidding, email, and payment-data services. Evidence is limited: README content is empty, and most service implementations and admin-panel request flows were not sampled, so uncertain wiring is omitted.
Main entry points: main.ts HTTP API · projects.controller.ts Project routes · chat.controller.ts Chat routes · posts.controller.ts Post routes
Components 23
User Interfaces
- Admin panel
admin-panel/src
API Gateway
- HTTP API
api-gateway/src/main.ts - Authentication routes
api-gateway/src/auth/auth.controller.ts - Project routes
api-gateway/src/projects/projects.controller.ts - Chat routes
api-gateway/src/chat/chat.controller.ts - Post routes
api-gateway/src/posts/posts.controller.ts - KYC routes
api-gateway/src/kyc/kyc.controller.ts - Escrow routes
api-gateway/src/escrow/escrow.controller.ts
Marketplace Services
- Projects and categories
project-service/src - Posts
posts-service/src - Bids
bids-service/src - Search
search-service/src - Chat and messages
project-service/src/chat
Trust And Payments
- Authentication
auth-service/src - User profiles
user-service/src/users - Identity verification
kyc-service/src/accout-verification - Escrow invoices
escrow/src/invoices - Payment data
user-service/src/payment-data
Platform Services
- Cloudinary uploads
api-gateway/src/cloudinary/cloudinary/cloudinary.service.ts - Email delivery
email-service/src/sender
Other components
- Marketplace users
- Administrator
- Monobank
Connections 25
- Marketplace users → Admin panel: manage records
- Administrator → Admin panel: administers
- Marketplace users → HTTP API: use marketplace
- HTTP API → Authentication routes: routes requests
- HTTP API → Project routes: routes requests
- HTTP API → Chat routes: routes requests
- HTTP API → Post routes: routes requests
- HTTP API → KYC routes: routes requests
- HTTP API → Escrow routes: routes requests
- Authentication routes → Authentication: dispatches auth
- Authentication routes → User profiles: dispatches users
- Project routes → Projects and categories: dispatches projects
- Project routes → Search: searches projects
- Project routes → User profiles: fetches profiles
- Chat routes → Chat and messages: dispatches chat
- Chat routes → User profiles: fetches senders
- Chat routes → Cloudinary uploads: uploads attachments
- Post routes → Posts: dispatches posts
- Post routes → Search: searches posts
- Post routes → Cloudinary uploads: uploads images
- KYC routes → Identity verification: dispatches verification
- KYC routes → Cloudinary uploads: uploads documents
- Escrow routes → Escrow invoices: dispatches invoices
- Escrow invoices → Monobank: handles payments
- Projects and categories → Chat and messages: hosts chat