This GitHub repository contains the Microservice Portfolio Project, a showcase of various microservices that demonstrate different functionalities and technologies. The project aims to demonstrate the skills and capabilities of the developer in building scalable, maintainable, and efficient microservices architecture.
- Overview
- Technologies Used
- Microservices
- Getting Started
- Usage
- Documentation
- Contributing
- License
- Contact
The Microservice Portfolio Project employs the following technologies:
- Node.js with Express for microservices implementation
- Docker for containerization
- Kubernetes for orchestration and deployment
- Redis for caching
- MongoDB for data storage
- RabbitMQ for message queuing
- Swagger for API documentation
The project consists of the following microservices, each serving a specific purpose:
- Auth Service: Handles user authentication and authorization.
- User Service: Manages user data and interactions.
- Product Service: Handles product-related operations.
- Order Service: Manages orders and order processing.
- Email Service: Sends email notifications to users.
- Payment Service: Manages payment processing.
Before running the Microservice Portfolio Project, ensure you have the following dependencies installed:
- Node.js and npm
- Docker
- Kubernetes (minikube or any other Kubernetes cluster)
- MongoDB
- Redis
- RabbitMQ
- Clone this repository to your local machine.
git clone https://github.com/samueltefera/portfolio.git
- Install the dependencies for each microservice.
cd microservice-portfolio/auth-service
pip install -r requirement.txt
cd ../user-service
pip install -r requirement.txt
# Repeat for other microservices...
- Run each microservice locally for development.
cd src/*
cd ../user-service
pip install -r requirement.txt
# Repeat for other microservices...
To deploy the Microservice Portfolio Project to Kubernetes, follow the steps in the documentation (see Documentation). After successful deployment, you can access the individual microservices and test their functionalities.
The detailed documentation for each microservice API can be found in the docs directory. This documentation includes information about each endpoint, expected input, and sample responses.
Contributions to the Microservice Portfolio Project are welcome! If you have any improvements or new features to add, please follow the standard GitHub flow:
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
The Microservice Portfolio Project is licensed under the MIT License.
If you have any questions or need further assistance, feel free to contact the project maintainer:
- Name: samuel tefera
- Email: [email protected]
- GitHub: Your GitHub Profile