Projet de déploiement cloud avec React, FastAPI et PostgreSQL.
Mini-Project-Cloud/
├── frontend/ # Application React + TypeScript + Tailwind
├── backend/ # API FastAPI
├── database/ # Scripts et configurations PostgreSQL
├── deployment/ # Scripts de déploiement cloud
├── nginx/ # Configuration reverse proxy
└── docker-compose.yml # Développement local
- Node.js 18+
- Python 3.10+
- Docker et Docker Compose
- PostgreSQL 14+ (ou via Docker)
Pour uploader ce projet sur GitHub, suivez le guide complet dans GUIDE_UPLOAD.md
Commandes rapides :
git init
git add .
git commit -m "Initial commit: Mini Project Cloud"
git remote add origin https://github.com/USERNAME/Mini-Project-Cloud.git
git branch -M main
git push -u origin maingit clone <repository-url>
cd Mini-Project-Cloudcp .env.example .env
# Éditer .env avec vos configurationsdocker-compose up -dCela lancera :
- PostgreSQL sur le port 5432
- Backend FastAPI sur http://localhost:8000
- Frontend React sur http://localhost:5173
Windows :
cd backend
start_backend.batLinux/Mac :
cd backend
chmod +x start_backend.sh
./start_backend.shOU manuellement :
cd backend
.\venv\Scripts\Activate.ps1 # Windows
# source venv/bin/activate # Linux/Mac
uvicorn app.main:app --reloadcd frontend
npm install
npm run devcd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reloadcd frontend
npm install
npm run dev# Avec Docker
docker run -d \
--name postgres-cloud \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_DB=cloud_db \
-p 5432:5432 \
postgres:14
# Initialiser la base de données
cd database
psql -U postgres -d cloud_db -f init.sql
psql -U postgres -d cloud_db -f schema.sqlUne fois le backend lancé, accédez à :
- Swagger UI : http://localhost:8000/docs
- ReDoc : http://localhost:8000/redoc
- ✅ Page d'accueil avec présentation
- ✅ Tableau de bord de monitoring cloud
- ✅ Création de VM avec formulaire
- ✅ Historique des déploiements
- ✅ Mode clair/sombre
- ✅ Internationalisation (FR/EN)
- ✅ Design responsive
- ✅ API REST complète
- ✅ Connexion PostgreSQL
- ✅ Authentification JWT
- ✅ Métriques système simulées
- ✅ Gestion des déploiements
- ✅ Documentation OpenAPI
Voir deployment/aws/ pour les scripts Terraform et CloudFormation.
Voir deployment/azure/ pour les scripts ARM.
Voir deployment/gcp/ pour les scripts Terraform.
GET /api/health- Santé de l'APIGET /api/metrics- Métriques systèmeGET /api/deployments- Liste des déploiementsPOST /api/deployments- Créer un déploiementGET /api/deployments/{id}- Détails d'un déploiementDELETE /api/deployments/{id}- Supprimer un déploiementGET /api/instances- Liste des instances cloudPOST /api/instances- Créer une instance
# Backend
cd backend
pytest
# Frontend
cd frontend
npm testMIT
Mini-Project-Cloud Team