Skip to content

pabiosoft/sudmaps

Repository files navigation

🌐 SudMaps Backend API (Symfony + API Platform)

Bienvenue dans le backend de SudMaps, l'application qui rend les lieux accessibles dans les pays du Sud, même sans adresse formelle.

Ce projet est développé en Symfony 7.2.25, avec API Platform, DTOs + Micro-mapper, PostgreSQL, et FrankenPHP pour des performances modernes.


✨ Stack Technique

  • Symfony 7.2.25
  • API Platform
  • (i.e) PostgreSQL
  • FrankenPHP (sans Apache/Nginx)
  • Zenstruck Foundry pour les fixtures
  • Doctrine ORM avec UUID
  • Mapping DTO/Entity avec SymfonyCasts MicroMapper

♻️ Installation Locale

✅ 1. Cloner le projet

git clone https://github.com/pabiosoft/sudmaps.git
cd sudmaps-backend

✅ 2. Installer les dépendances

composer install

✅ 3. Créer le fichier .env.local

Configure la BDD :

DATABASE_URL="postgresql://<user>:<password>@<host>/<database>?serverVersion=15&charset=utf8"
||
DATABASE_URL="mysql://USERNAME:PASSWORD@HOST:PORT/DB_NAME?serverVersion=mariadb-10.11.2&charset=utf8mb4"


🔄 Lancer le projet en local

Ὠ0 Option A - FrankenPHP (recommandé)

1. Installer FrankenPHP (manuellement)

curl https://frankenphp.dev/install.sh | sh
sudo mv frankenphp /usr/local/bin/

2. Lancer le serveur

frankenphp php-server -r public/

🚢 Option B - Docker (alternative rapide)

docker run -v $PWD:/app/public \
  -p 443:443/tcp -p 443:443/udp \
  dunglas/frankenphp

Le serveur est accessible sur : https://localhost ou https://sudmaps.pabiosoft.com


📊 Base de Données (si mode dev)

Pour initialiser la base de données :

php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:load --purge-with-truncate (if used postgres)
php  bin/console doctrine:fixtures:load --purger=delete (mysql - mariadb)

🌐 Endpoints disponibles

Swagger (API Platform) dispo sur :

https://sudmaps.pabiosoft.com/api

Ou en local :

https://localhost/api

🪑 Pour le développeur front (i.e React)

  • Toutes les routes sont REST + JSON-LD (Hydra)
  • Authentification (JWT) à venir peut-etre
  • Documentation OpenAPI à jour
  • Exemple de route :
GET /api/locations

📁 Structure Dossier Clé

├── src/
│   ├── ApiResource/        # DTO exposés en API
│   ├── Entity/             # Entités Doctrine (UUID)
│   ├── Factory/            # Zenstruck Foundry Factories
│   ├── Mapper/             # MicroMappers DTO <-> Entity
│   └── State/              # API Platform Providers / Processors
├── public/                 # Dossier servi par FrankenPHP
├── config/                 # Configuration Symfony/API Platform
├── migrations/             # Migrations Doctrine
└── .env/.env.local         # Variables d'environnement

☕ Besoin d'aide ?

Ping nous en ouvrant une Issue GitHub ✨


Made with ❤️ by @pabiosoft & @civilisation-it

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published