[PR #1] [MERGED] Feat/backend #2

Closed
opened 2026-05-06 16:09:05 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/BreizhHardware/projet-web-cipa4/pull/1
Author: @BreizhHardware
Created: 1/27/2026
Status: Merged
Merged: 1/27/2026
Merged by: @ClementHVT

Base: mainHead: feat/backend


📝 Commits (10+)

  • 517ccbd feat(backend): Implement first version of the backend
  • 93fe6ff chore: update .gitignore and add initial configuration files
  • 09283d9 feat(CI/CD): add Dockerfile and CI/CD workflows for deployment
  • 452efab feat(CI/CD): enhance deployment workflow with image URI generation
  • 71bc624 feat(workflows): refactor branch name sanitization and improve SSH setup
  • 09c62c8 feat(deploy): add GitHub deployment status creation step
  • 67be2a9 feat(deploy): replace Cloudflared setup with Tailscale connection for SSH
  • 5647ad8 feat(deploy): add IdentitiesOnly option for SSH configuration
  • 450b61f feat(deploy): add verbose flag to SSH command for authentication debugging
  • 3cf3b1e fix: deploy permissions and remove index.html

📊 Changes

46 files changed (+2235 additions, -28 deletions)

View changed files

.github/workflows/cleanup.yml (+72 -0)
.github/workflows/deploy.yml (+146 -0)
📝 .gitignore (+9 -0)
.htaccess (+18 -0)
Dockerfile (+36 -0)
README.MD (+85 -0)
apache-config.conf (+12 -0)
bruno/Auth/01 - Get CSRF Token.bru (+21 -0)
bruno/Auth/02 - Login Action.bru (+19 -0)
bruno/Auth/Register Action.bru (+22 -0)
bruno/Bookings/Book Trip.bru (+19 -0)
bruno/Trips/Create Trip.bru (+23 -0)
bruno/Trips/List Trips.bru (+17 -0)
bruno/Vehicles/Add Vehicle.bru (+22 -0)
bruno/bruno.json (+14 -0)
bruno/collection.bru (+4 -0)
bruno/environments/Local.bru (+5 -0)
composer.json (+11 -0)
composer.lock (+100 -0)
📝 css/style.css (+28 -1)

...and 26 more files

📄 Description

This pull request introduces a complete setup for a secure, native PHP carpooling platform, including backend, frontend, deployment, and development tooling. The most significant changes are the addition of a Docker-based deployment flow, API documentation and test collections, improved security and routing for the web server, and a styled frontend. Below are the key grouped changes:

Deployment & DevOps

  • Added GitHub Actions workflows for branch-based deployment (deploy.yml) and automated cleanup of Docker containers when branches are deleted (cleanup.yml). These workflows handle building, pushing, and deploying Docker images to a homelab server, with branch-specific container naming and Traefik routing. [1] [2]
  • Introduced a production-ready Dockerfile for building the PHP/Apache application, installing dependencies, setting permissions, and initializing the database. Includes custom Apache configuration and Composer install.
  • Added apache-config.conf for Apache virtual host configuration, enabling URL rewriting and access controls.
  • Added .htaccess for PHP handler setup, pretty URLs, and security rules to restrict access to sensitive files and directories.

Backend & API Documentation

  • Added a comprehensive README.MD detailing project architecture, installation steps, API endpoints, and testing instructions.
  • Added composer.json for dependency management, including PHPMailer and autoloading PHP classes.

API Testing & Collections

  • Added Bruno API test collection files (bruno/), including environment presets, test cases for authentication, booking, trips, vehicles, and a collection config for local development. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Frontend & Styling

  • Major update to index.html for a user-friendly homepage with navigation, actions, and dynamic authentication links.
  • Improved base styles in css/style.css, including navigation, error/success messages, and trip card styling. [1] [2]

These changes collectively establish a robust foundation for secure PHP development, automated deployment, and easy local testing.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/BreizhHardware/projet-web-cipa4/pull/1 **Author:** [@BreizhHardware](https://github.com/BreizhHardware) **Created:** 1/27/2026 **Status:** ✅ Merged **Merged:** 1/27/2026 **Merged by:** [@ClementHVT](https://github.com/ClementHVT) **Base:** `main` ← **Head:** `feat/backend` --- ### 📝 Commits (10+) - [`517ccbd`](https://github.com/BreizhHardware/projet-web-cipa4/commit/517ccbd2634c5042ed28b0492957a721302901d4) feat(backend): Implement first version of the backend - [`93fe6ff`](https://github.com/BreizhHardware/projet-web-cipa4/commit/93fe6ff69ac58f53caa38eb745cf8dca2993d436) chore: update .gitignore and add initial configuration files - [`09283d9`](https://github.com/BreizhHardware/projet-web-cipa4/commit/09283d9fb2cb5aff1f5371a90ab4a298d2e572f5) feat(CI/CD): add Dockerfile and CI/CD workflows for deployment - [`452efab`](https://github.com/BreizhHardware/projet-web-cipa4/commit/452efab2ef6ac5c193c38e551585fa273e9b6087) feat(CI/CD): enhance deployment workflow with image URI generation - [`71bc624`](https://github.com/BreizhHardware/projet-web-cipa4/commit/71bc6246f1e33b664a4d76324a68e4a657e066dd) feat(workflows): refactor branch name sanitization and improve SSH setup - [`09c62c8`](https://github.com/BreizhHardware/projet-web-cipa4/commit/09c62c89469943fc65a4e06a013dcf4b98e9d8be) feat(deploy): add GitHub deployment status creation step - [`67be2a9`](https://github.com/BreizhHardware/projet-web-cipa4/commit/67be2a945f37604412b6b713c301c71ca679d71c) feat(deploy): replace Cloudflared setup with Tailscale connection for SSH - [`5647ad8`](https://github.com/BreizhHardware/projet-web-cipa4/commit/5647ad8276bb379a4a2c2fec5f5bbca8cb6335bf) feat(deploy): add IdentitiesOnly option for SSH configuration - [`450b61f`](https://github.com/BreizhHardware/projet-web-cipa4/commit/450b61f594b4ef483226d95c63ad78fcb36ae664) feat(deploy): add verbose flag to SSH command for authentication debugging - [`3cf3b1e`](https://github.com/BreizhHardware/projet-web-cipa4/commit/3cf3b1e56260ee5fa0433c9320cf421f4b6dcb5d) fix: deploy permissions and remove index.html ### 📊 Changes **46 files changed** (+2235 additions, -28 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/cleanup.yml` (+72 -0) ➕ `.github/workflows/deploy.yml` (+146 -0) 📝 `.gitignore` (+9 -0) ➕ `.htaccess` (+18 -0) ➕ `Dockerfile` (+36 -0) ➕ `README.MD` (+85 -0) ➕ `apache-config.conf` (+12 -0) ➕ `bruno/Auth/01 - Get CSRF Token.bru` (+21 -0) ➕ `bruno/Auth/02 - Login Action.bru` (+19 -0) ➕ `bruno/Auth/Register Action.bru` (+22 -0) ➕ `bruno/Bookings/Book Trip.bru` (+19 -0) ➕ `bruno/Trips/Create Trip.bru` (+23 -0) ➕ `bruno/Trips/List Trips.bru` (+17 -0) ➕ `bruno/Vehicles/Add Vehicle.bru` (+22 -0) ➕ `bruno/bruno.json` (+14 -0) ➕ `bruno/collection.bru` (+4 -0) ➕ `bruno/environments/Local.bru` (+5 -0) ➕ `composer.json` (+11 -0) ➕ `composer.lock` (+100 -0) 📝 `css/style.css` (+28 -1) _...and 26 more files_ </details> ### 📄 Description This pull request introduces a complete setup for a secure, native PHP carpooling platform, including backend, frontend, deployment, and development tooling. The most significant changes are the addition of a Docker-based deployment flow, API documentation and test collections, improved security and routing for the web server, and a styled frontend. Below are the key grouped changes: **Deployment & DevOps** * Added GitHub Actions workflows for branch-based deployment (`deploy.yml`) and automated cleanup of Docker containers when branches are deleted (`cleanup.yml`). These workflows handle building, pushing, and deploying Docker images to a homelab server, with branch-specific container naming and Traefik routing. [[1]](diffhunk://#diff-28802fbf11c83a2eee09623fb192785e7ca92a3f40602a517c011b947a1822d3R1-R146) [[2]](diffhunk://#diff-664d1ed2a10f92af2b39bd45d653b3d03fa659d3f1413e00de3bdedc04b7ab7aR1-R44) * Introduced a production-ready `Dockerfile` for building the PHP/Apache application, installing dependencies, setting permissions, and initializing the database. Includes custom Apache configuration and Composer install. * Added `apache-config.conf` for Apache virtual host configuration, enabling URL rewriting and access controls. * Added `.htaccess` for PHP handler setup, pretty URLs, and security rules to restrict access to sensitive files and directories. **Backend & API Documentation** * Added a comprehensive `README.MD` detailing project architecture, installation steps, API endpoints, and testing instructions. * Added `composer.json` for dependency management, including PHPMailer and autoloading PHP classes. **API Testing & Collections** * Added Bruno API test collection files (`bruno/`), including environment presets, test cases for authentication, booking, trips, vehicles, and a collection config for local development. [[1]](diffhunk://#diff-14ee86e5a8c2c05180259cda8db297d349f86f83370bacd8daa2c8102366d786R1-R21) [[2]](diffhunk://#diff-f81b6545d9f4e2a146154b15509e73b714a4a86a46bf1ede2b34dbae85cc958dR1-R19) [[3]](diffhunk://#diff-4fb9347d312bf8188e3fc5cffbb8a8f712c0f26c66ed803f7b12cd4be0a8b862R1-R22) [[4]](diffhunk://#diff-a27192947efa5c6ee63e37649fa3700c7e2b2eb7ea515a97ec75a7d018ae41d1R1-R19) [[5]](diffhunk://#diff-c7b4e36c23deaf18dd8a0dc04e77159876aff62305d6c934a0f840c2ee1be2eaR1-R23) [[6]](diffhunk://#diff-f0006226674ad8db51f1e6a66c45d68f599dc54d67f1352fd6ed66a705a93b67R1-R17) [[7]](diffhunk://#diff-44ab4e472e3dafdf649f1ca0c115d048bd37e53692dd5a3bbc4d067c6341f641R1-R22) [[8]](diffhunk://#diff-754c89c45f5e222d69e7beec5d0812bdd5933f853d5da3a136b86ac03cf01d3bR1-R14) [[9]](diffhunk://#diff-3828b718c3a2e07cb87ae034c09bdf9ae33b96af2897e079fcdd683596e15913R1-R4) [[10]](diffhunk://#diff-a7867d97732cec0f72f53861b820722cadd4b0046d94b041c4d732eedf0d5590R1-R5) **Frontend & Styling** * Major update to `index.html` for a user-friendly homepage with navigation, actions, and dynamic authentication links. * Improved base styles in `css/style.css`, including navigation, error/success messages, and trip card styling. [[1]](diffhunk://#diff-1fc556f95754ee7e33d91044125c44bb9f750c99be4406756ffb27413adfcaf5R87-R114) [[2]](diffhunk://#diff-1fc556f95754ee7e33d91044125c44bb9f750c99be4406756ffb27413adfcaf5L247) --- These changes collectively establish a robust foundation for secure PHP development, automated deployment, and easy local testing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-06 16:09:05 +02:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
BreizhHardware/projet-web-cipa4#2
No description provided.