Skip to content

YASSINENFAI/hirafi

Repository files navigation

πŸ› οΈ Hirafi

Platform for Craftsmen & Skilled Workers in Morocco

Find local craftsmen β€’ Book services β€’ Connect with professionals

License: MIT Next.js Capacitor Supabase

⭐ Star this repo β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature


πŸ“– What is Hirafi?

Hirafi (حرفي) is a platform that connects customers with skilled craftsmen and service providers in Morocco. Whether you need a plumber, electrician, carpenter, or any other skilled professional, Hirafi helps you find and book the right person for the job.

🎯 The Problem

In Morocco, finding reliable craftsmen is often difficult:

  • No centralized platform to find skilled workers
  • Hard to verify quality and reliability
  • Language barriers (Arabic/French)
  • No easy way to compare prices and services

✨ The Solution

Hirafi provides:

  • πŸ” Search & Discovery - Find craftsmen by category and location
  • ⭐ Reviews & Ratings - See what others say about each craftsman
  • πŸ’¬ Direct Communication - Chat with workers before booking
  • πŸ“ Location-Based - Find professionals near you
  • πŸ“± Mobile App - Android app for on-the-go access

✨ Features

Feature Description
πŸ” Smart Search Search by category, location, or skill
πŸ‘€ Worker Profiles Detailed profiles with portfolio and reviews
⭐ Rating System Rate and review completed jobs
πŸ’¬ In-App Chat Communicate directly with workers
πŸ“… Booking System Schedule appointments easily
πŸ”” Notifications Get alerts for new messages and bookings
🌍 Multi-Language Arabic, French, and English support
πŸ“± Android App Native mobile experience

πŸ› οΈ Supported Crafts

Hirafi supports various categories:

Category Examples
πŸ”§ Plumbing Plumbers, pipe fitters
⚑ Electrical Electricians, wiring specialists
πŸͺ΅ Carpentry Carpenters, furniture makers
🎨 Painting Painters, decorators
πŸ—οΈ Construction Masons, builders
❄️ HVAC AC technicians, heating specialists
πŸš— Automotive Mechanics, car electricians
🧹 Cleaning House cleaning, deep cleaning
🌿 Gardening Landscapers, gardeners
πŸ“± More And many more...

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Supabase account (free tier available)
  • Android Studio (for Android development)

Installation

# 1. Clone the repository
git clone https://github.com/YASSINENFAI/hirafi.git
cd hirafi

# 2. Install dependencies
npm install

# 3. Set up environment variables
cp .env.example .env.local
# Edit .env.local with your Supabase credentials

# 4. Run the development server
npm run dev

Environment Variables

Create a .env.local file:

NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key

Access the App


πŸ“± Android Development

Build for Android

# Build the Next.js app
npm run build

# Sync with Capacitor
npx cap sync android

# Open in Android Studio
npx cap open android

APK Generation

  1. Open the project in Android Studio
  2. Build β†’ Generate Signed Bundle/APK
  3. Follow the signing process
  4. Your APK will be in android/app/build/outputs/

πŸ—οΈ Tech Stack

Category Technology
Frontend Next.js 16, React 19, TypeScript
Styling Tailwind CSS 4
Backend Supabase (PostgreSQL, Auth, Storage)
Mobile Capacitor 8
Animation Framer Motion
State React Context, SWR

πŸ“ Project Structure

hirafi/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/               # Next.js app router pages
β”‚   β”œβ”€β”€ components/        # React components
β”‚   β”œβ”€β”€ lib/              # Utilities and helpers
β”‚   β”‚   └── supabase/     # Supabase client setup
β”‚   β”œβ”€β”€ types/            # TypeScript types
β”‚   β”œβ”€β”€ utils/            # Utility functions
β”‚   └── constants/        # App constants
β”œβ”€β”€ android/              # Android Capacitor project
β”œβ”€β”€ public/               # Static assets
└── capacitor.config.ts   # Capacitor configuration

🌍 Supported Cities

Hirafi currently operates in major Moroccan cities:

  • πŸ™οΈ Ψ§Ω„Ψ―Ψ§Ψ± Ψ§Ω„Ψ¨ΩŠΨΆΨ§Ψ‘ (Casablanca)
  • πŸ›οΈ Ψ§Ω„Ψ±Ψ¨Ψ§Ψ· (Rabat)
  • πŸ•Œ Ω…Ψ±Ψ§ΩƒΨ΄ (Marrakech)
  • βš“ Ψ·Ω†Ψ¬Ψ© (Tangier)
  • 🏺 فاس (Fes)
  • πŸ–οΈ Ψ£ΩƒΨ§Ψ―ΩŠΨ± (Agadir)
  • 🏰 Ω…ΩƒΩ†Ψ§Ψ³ (Meknes)
  • πŸŒ… وجدة (Oujda)
  • 🏭 Ψ§Ω„Ω‚Ω†ΩŠΨ·Ψ±Ψ© (Kenitra)
  • 🌊 ΨͺΨ·ΩˆΨ§Ω† (Tetouan)
  • 🏘️ Ψ§Ω„Ψ¬Ψ―ΩŠΨ―Ψ© (El Jadida)
  • ⛰️ Ψ¨Ω†ΩŠ Ω…Ω„Ψ§Ω„ (Beni Mellal)

πŸ” Security Features

Hirafi includes several security measures:

  • βœ… 2FA Authentication - Two-factor authentication support
  • βœ… Phone Validation - Moroccan phone number validation
  • βœ… Data Sanitization - Input sanitization for all forms
  • βœ… Secure Storage - Encrypted local storage
  • βœ… Session Management - Secure token refresh

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

Free to use for personal and commercial projects!


πŸ™ Support

If you find this project helpful, please consider:

  • ⭐ Starring this repository
  • πŸ› Reporting bugs via Issues
  • πŸ’‘ Suggesting features via Issues
  • πŸ“’ Sharing with others

πŸ“ž Contact

Created by Yassine


⭐ If you like this project, give it a star! ⭐

Made with ❀️ in Morocco πŸ‡²πŸ‡¦

About

πŸ› οΈ Hirafi - Platform for craftsmen and skilled workers in Morocco. Find local craftsmen, book services, and connect with professionals

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages