https://github.com/mos63/e2e_full_api_demo
End-to-end API development and deployment using FastAPI, Docker, and Kubernetes.
https://github.com/mos63/e2e_full_api_demo
codecov docker-compose e2e-tests go-kit godev gokit gomock integration-testing istio kubernetes microservice todomvc unittest
Last synced: 3 months ago
JSON representation
End-to-end API development and deployment using FastAPI, Docker, and Kubernetes.
- Host: GitHub
- URL: https://github.com/mos63/e2e_full_api_demo
- Owner: mos63
- License: mit
- Created: 2025-04-29T03:58:32.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-04-30T19:50:50.000Z (5 months ago)
- Last Synced: 2025-04-30T20:58:54.442Z (5 months ago)
- Topics: codecov, docker-compose, e2e-tests, go-kit, godev, gokit, gomock, integration-testing, istio, kubernetes, microservice, todomvc, unittest
- Language: Jupyter Notebook
- Size: 49.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π E2E_FULL_API_Demo
   
Welcome to the **E2E_FULL_API_Demo** repository! This project demonstrates end-to-end API development and deployment using FastAPI, Docker, and Kubernetes.
## π Table of Contents
1. [Introduction](#introduction)
2. [Features](#features)
3. [Getting Started](#getting-started)
4. [Installation](#installation)
5. [Usage](#usage)
6. [Deployment](#deployment)
7. [Contributing](#contributing)
8. [License](#license)
9. [Contact](#contact)
10. [Releases](#releases)## π Introduction
In todayβs fast-paced tech environment, building efficient APIs is crucial. This project showcases how to create a robust API using **FastAPI**, package it with **Docker**, and deploy it using **Kubernetes**.
Whether you are a beginner or an experienced developer, this demo will guide you through the essential steps to set up your own API.
## π Features
- **FastAPI**: High-performance web framework for building APIs.
- **Docker**: Containerize your application for easy deployment.
- **Kubernetes**: Manage your containers with a powerful orchestration tool.
- **Comprehensive Documentation**: Clear instructions and examples for every step.
- **Community Support**: Join a growing community of developers.## π οΈ Getting Started
To get started, you will need:
- Basic knowledge of Python and RESTful APIs.
- Installed **Docker** and **Kubernetes** on your machine.
- Familiarity with command-line tools.## π₯ Installation
1. **Clone the Repository**
Start by cloning the repository to your local machine:
```bash
git clone https://github.com/mos63/E2E_FULL_API_Demo.git
cd E2E_FULL_API_Demo
```2. **Install Dependencies**
Make sure to install all required dependencies. You can do this using pip:
```bash
pip install -r requirements.txt
```## π Usage
After installing the dependencies, you can run the API locally.
1. **Start the API**
Use the following command to run the FastAPI server:
```bash
uvicorn main:app --reload
```2. **Access the API**
Open your browser and navigate to `http://127.0.0.1:8000/docs` to view the API documentation.
## π Deployment
To deploy the API using Docker and Kubernetes, follow these steps:
1. **Build the Docker Image**
Run the following command to build your Docker image:
```bash
docker build -t e2e_full_api_demo .
```2. **Run the Docker Container**
After building the image, run the container:
```bash
docker run -d -p 8000:8000 e2e_full_api_demo
```3. **Deploy to Kubernetes**
Create a Kubernetes deployment file (`deployment.yaml`) and apply it:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: e2e-full-api-demo
spec:
replicas: 2
selector:
matchLabels:
app: e2e-full-api-demo
template:
metadata:
labels:
app: e2e-full-api-demo
spec:
containers:
- name: e2e-full-api-demo
image: e2e_full_api_demo
ports:
- containerPort: 8000
```Apply the deployment:
```bash
kubectl apply -f deployment.yaml
```## π€ Contributing
We welcome contributions! If you want to help improve this project, please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Make your changes and commit them (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Open a pull request.## π License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## π Contact
For any questions or feedback, feel free to reach out:
- **Email**: your-email@example.com
- **Twitter**: [@yourhandle](https://twitter.com/yourhandle)## π¦ Releases
You can find the latest releases of this project [here](https://github.com/mos63/E2E_FULL_API_Demo/releases). Download the necessary files and execute them as needed.
Visit the [Releases](https://github.com/mos63/E2E_FULL_API_Demo/releases) section for more information on the latest updates.
---
Thank you for checking out **E2E_FULL_API_Demo**! We hope this project helps you in your API development journey. Happy coding!