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.
- 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
git clone https://github.com/pabiosoft/sudmaps.git
cd sudmaps-backendcomposer installConfigure 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"
curl https://frankenphp.dev/install.sh | sh
sudo mv frankenphp /usr/local/bin/frankenphp php-server -r public/docker run -v $PWD:/app/public \
-p 443:443/tcp -p 443:443/udp \
dunglas/frankenphpLe serveur est accessible sur : https://localhost ou https://sudmaps.pabiosoft.com
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)
Swagger (API Platform) dispo sur :
https://sudmaps.pabiosoft.com/api
Ou en local :
https://localhost/api
- Toutes les routes sont REST + JSON-LD (Hydra)
- Authentification (JWT) à venir peut-etre
- Documentation OpenAPI à jour
- Exemple de route :
GET /api/locations├── 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
Ping nous en ouvrant une Issue GitHub ✨
Made with ❤️ by @pabiosoft & @civilisation-it