Here’s a clean combined README.md that merges both — keeping your React + Vite + Tailwind frontend, the Django backend, and all the South African context intact:
ServiceConnect is a modern South African web application that connects clients with verified blue-collar professionals — electricians, plumbers, painters, gardeners, and more. Inspired by Fiverr but built for real-world service work, it allows users to post jobs, receive applications, communicate securely, and manage payments in one place.
The platform is fast, mobile-friendly, and fully localized for South Africa — from currency and time zone to map data and payment gateways.
- Framework: React 18.3+ with TypeScript
- Build Tool: Vite 5.4+
- Styling: Tailwind CSS with custom South African-inspired design system
- UI Components: shadcn/ui (Radix UI Primitives)
- Routing: React Router v6
- State Management: React Query (TanStack Query)
- ORM (Schema & Migrations): Drizzle ORM
- Framework: Django + Django REST Framework
- Database: PostgreSQL
- Real-time: Django Channels / WebSockets (for chat and job status)
- Authentication: JWT-based REST API
- Payments: PayFast or Yoco (planned ZAR integration)
| Role | Color | Meaning |
|---|---|---|
| Primary | Green (hsl(157 100% 24%)) |
Growth and trust |
| Secondary | Yellow (hsl(45 100% 56%)) |
Energy and optimism |
| Background | White (hsl(0 0% 100%)) |
Clarity and space |
| Muted | Light green tones | Subtle backgrounds |
- Vibrant South African theme
- Clear visual hierarchy and strong contrast
- Card-based grid layouts
- Smooth fade, scale, and slide animations
- Hover micro-interactions throughout
fade-in: 0.8 s ease-outfade-in-up: 1 s ease-out with vertical motionscale-in: 0.5 s ease-outslide-in-right: 0.6 s ease-out
Tailored for South Africa:
- Currency: ZAR
- Locale: English (South Africa)
- Time Zone: Africa/Johannesburg
- Map Region: South Africa (locked via Google Maps API config)
| Path | Description |
|---|---|
/ |
Homepage – Hero, categories, featured providers |
/signup |
User registration and profile setup |
/login |
Secure login (using shared auth components) |
/admin |
Admin dashboard (creator-only access) |
/services |
List of available services |
/providers |
Provider profiles and ratings |
/about |
Platform mission and story |
/how-it-works |
Three-step workflow overview |
/become-provider |
Provider application page |
/pricing |
Provider plans and tiers |
/blog |
Resources and industry updates |
/support |
Help center and contact form |
/terms |
Terms of service and privacy policy |
* |
404 fallback page |
Hero.tsx– landing search sectionServiceCategories.tsx– grid of service typesHowItWorks.tsx– three-step explainerFeaturedProviders.tsx– top-rated showcaseFooter.tsx– site footer and links
npm run devStarts Vite development server (http://localhost:5173)
npm run buildCompiles optimized bundle to dist/
npm run previewServes production build locally
npm run lintRuns ESLint across codebase
cd backend
python manage.py makemigrations
python manage.py migrate
python manage.py runserverAPI endpoints are JWT-secured and designed for modular integration with the React frontend.
git clone <your-repo-url>
cd ServiceConnect2.0
npm install
npm run devBackend runs separately under /backend while frontend runs on Vite (5173 by default).
- Integrate PayFast/Yoco payments
- Deploy backend on Railway/Render with PostgreSQL
- Add real-time notifications via Channels
- Provider ratings and review system
- Mobile PWA support