A hustle and temporary job marketplace for students across africa
# AfriHustle π
AfriHustle is a modern, interactive marketplace designed to bridge the gap between ambitious African students and forward-thinking companies. It provides a platform where students can find "hustles" (opportunities), build their professional portfolios, and get paid for their skills.
## β¨ Key Features
### For Students
- **Find Your Hustle**: Browse verified opportunities from companies looking for talented individuals.
- **Resume Studio**: Build and manage your professional profile and resume.
- **Hustle Portal**: A dedicated space for project management and communication once accepted.
- **Secure Payments**: Get paid for your work with full transaction tracking.
### For Companies
- **Post a Hustle**: Easily list opportunities with specific requirements and compensation.
- **Talent Discovery**: Access student profiles, resumes, and portfolios to find the best fit.
- **Dashboard**: Manage your postings, review applications, and track project progress.
## π οΈ Tech Stack
- **Frontend**: React + TypeScript
- **Build Tool**: Vite
- **Styling**: Tailwind CSS + Shadcn UI
- **State Management & Data Fetching**: TanStack Query
- **Database & Auth**: Supabase
- **Icons**: Lucide React
- **Routing**: React Router
## π Getting Started
### Prerequisites
- Node.js (Latest LTS recommended)
- npm or yarn
### Installation
1. Clone the repository:
```bash
git clone
cd improved_afrihustle
```
2. Install dependencies:
```bash
npm install
```
3. Set up environment variables:
Create a `.env` file based on the provided template and add your Supabase credentials.
4. Run the development server:
```bash
npm run dev
```
## π Project Structure
- `src/components`: Reusable UI components.
- `src/pages`: Application pages and route definitions.
- `src/hooks`: Custom React hooks.
- `src/lib`: Utility functions and external service configurations (e.g., Supabase).
- `src/contexts`: React context providers for global state.
## π License
This project is private and inte β¦