- In the backend we used is Flask Python web framework which help us to use the AI model.
- In the frontend for now we used pure HTML,CSS and JavaScript.
- The database we used is Postgres database, is open source database and best option for microservices.
- On AI side we used Tensorflow tool on Python for training and testing the model.
- We are running the application as container using Docker, which help us fast building and running on any environment.
- We manage the containers by using Kubernetes, which help us to create cluster for the application and implement the CICD and high availability by scaling the nodes.
- We implemented the continuous integration and continuous deployment (CI/CD) methodology, which help us to automate the testing & deployment the new changes. Below is the flow diagram of CICD.
- We used GitHub Action for integration and to running the automation pipelines
- For delivering the new build to production, we used ArgoCD, which help us syncing the GitOps and deploy it into Kubernetes cluster.
- We used Alibaba Cloud to host our application. Below is the infrastructure diagram of our application.
- We used Terraform tool for automate the infrastructure building on Ali cloud.
To run the application, you should have Postgres running first, below example of running Postgres database with Docker.
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=hardpass123 -e POSTGRES_USER=ricko -e POSTGRES_DB=chatbot postgres:14 pg_db
After running Postgres db, you ready now to run our project. Clone the repository on your machine.
git clone https://github.com/Ahmad-Faqehi/budge-tech.git
cd budge-tech/
Start build the docker image by following execute the following command.
docker build ./application/ -t budget-tech
After finish the building, you can start the container using the following command.
docker run -d -p 80:5000 -e DB_HOST=pg_db -e DB_NAME=chatbot -e DB_USER=ricko -e DB_PASSWORD=hardpass123 budget-tech
Now, you can access the application by opening the following url:
http://localhost/
Thanks goes to these wonderful people who made the impossible done
Ahmad Faqehi - @A_F775 - [email protected]
Project Link: https://github.com/Ahmad-Faqehi/budge-tech