This is a FastAPI-based backend service for PEM (Project Execution Management). It includes APIs, models, and routes, and is containerized for Docker and Kubernetes deployment. The project is CI/CD-ready for Jenkins integration.
- High-performance FastAPI backend.
- Modular architecture with API, models, and routes.
- Dockerized setup for local and production environments.
- CI/CD-ready with Jenkins pipeline configuration.
- Kubernetes-ready with deployment configurations (to be added).
pem_api_base/
├── api/ # API logic
├── models/ # Pydantic models
├── routes/ # API routes
├── main.py # FastAPI entry point
├── dockerfile # Docker configuration
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── .gitignore # Git ignore rules
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts�ctivate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
uvicorn main:app --reload
-
Access the API at http://localhost:8000/docs
- Build the Docker image:
docker build -t pem_api_base .
- Run the container:
docker run -d -p 8000:8000 pem_api_base
- Access the API at http://localhost:8000/docs
Deployment YAMLs will be added in a future update.
A Jenkins pipeline will:
- Build and test the application.
- Build and push Docker images to a registry.
- Deploy to Kubernetes.
- Fork the repository.
- Create a new branch.
- Make changes and test.
- Submit a pull request.
This project is licensed under the MIT License.
For questions or contributions, contact [Your Name or Organization].