Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qrib - Marketplace de services locaux

Application web complète type Fiverr local pour publier et trouver des services de proximité : plomberie, électricité, ménage, coiffure, réparation, transport, jardinage et autres.

Stack

  • Frontend : React, TypeScript, Tailwind CSS, Vite
  • Backend : Node.js, Express.js, TypeScript
  • Base de données : SQLite avec seed automatique
  • API : REST JSON
  • Auth : bcrypt pour le hash des mots de passe, JWT pour les sessions API

Structure

local-services-app/
  backend/
    src/
      db.ts
      server.ts
      validation.ts
      types.ts
  frontend/
    src/
      components/
      pages/
      lib/
      types/

Installation

Depuis le dossier local-services-app :

npm run install:all

Ou séparément :

cd backend
npm install
cd ../frontend
npm install

Lancer en développement

Terminal 1 :

cd backend
npm run dev

Terminal 2 :

cd frontend
npm run dev

URLs locales :

Variables d'environnement

Copier backend/.env.example vers backend/.env si vous voulez personnaliser les ports ou chemins :

PORT=4000
DATABASE_FILE=./data/local-services.sqlite
FRONTEND_ORIGIN=http://localhost:5173
UPLOAD_DIR=./uploads

Sans fichier .env, les valeurs ci-dessus sont utilisées par défaut.

API REST

  • GET /api/services
  • GET /api/services/:id
  • GET /api/categories
  • GET /api/categories/:category/services
  • POST /api/services
  • PUT /api/services/:id
  • DELETE /api/services/:id
  • POST /api/upload
  • POST /api/auth/register
  • POST /api/auth/login
  • GET /api/auth/me
  • GET /api/me/services

La base SQLite est créée au lancement du backend. Si elle est vide, les catégories et services de test sont insérés automatiquement.

Compte démo prestataire :

  • Email : demo@qrib.local
  • Mot de passe : demo12345

Les routes POST /api/services, PUT /api/services/:id, DELETE /api/services/:id, POST /api/upload et GET /api/me/services nécessitent un header Authorization: Bearer <token>. Seul le propriétaire d’un service peut le modifier ou le supprimer.

Vérifications

npm run build --prefix backend
npm run build --prefix frontend

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages