Logo Lanfrica

Edwin-Kofi-Nyarkoh/Tasklink-Africa

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Edw
Hôte:
# TaskLink Africa A comprehensive platform connecting verified skilled professionals with customers across Africa. ## Features - 🔍 **Worker Discovery**: Search and filter professionals by service, location, and ratings - 📅 **Booking System**: Easy booking with secure payment integration - 💬 **Real-time Chat**: Communication between customers and workers - 🎫 **QR Code Tickets**: Verification system for both parties - 📱 **Responsive Design**: Works perfectly on all devices - 🌙 **Dark Mode**: Full dark mode support - 🔐 **Authentication**: Secure login with NextAuth - 💳 **Payments**: Integrated with Paystack for secure transactions - 📧 **Notifications**: Email and SMS notifications - ⭐ **Reviews**: Rating and review system ## Tech Stack - **Framework**: Next.js 14 (App Router) - **Database**: PostgreSQL with Prisma ORM - **Authentication**: NextAuth.js - **UI**: Tailwind CSS + shadcn/ui - **State Management**: Zustand - **Data Fetching**: TanStack Query + Axios - **Payments**: Paystack - **Email**: Nodemailer - **SMS**: Hellosend - **Image Upload**: Cloudinary - **Package Manager**: pnpm ## Getting Started ### Prerequisites - Node.js 18+ - PostgreSQL database - pnpm package manager ### Installation 1. **Clone the repository** \`\`\`bash git clone github.com cd tasklink-africa \`\`\` 2. **Install dependencies** \`\`\`bash pnpm install \`\`\` 3. **Set up environment variables** \`\`\`bash cp .env.example .env.local \`\`\` Fill in your environment variables in `.env.local` 4. **Set up the database** \`\`\`bash # Generate Prisma client pnpm db:generate # Push database schema pnpm db:push # (Optional) Seed the database pnpm db:seed \`\`\` 5. **Run the development server** \`\`\`bash pnpm dev \`\`\` 6. **Open your browser** Navigate to localhost ## Scripts - `pnpm dev` - Start development server - `pnpm build` - Build for production - `pnpm start` - Start production server - `pnpm lint` - Run ESLint - `p …