/techtrends

TechTrends is an online website used as a news sharing platform, that enables consumers to access the latest news within the cloud-native ecosystem.

Primary LanguageDockerfileApache License 2.0Apache-2.0

TechTreds Web Application in CI/CD Pipeline

Project_Version Method Build Test Package K8s Delivery Apache License Version 2.0

TechTrends is an online website used as a news sharing platform, that enables consumers to access the latest news within the cloud-native ecosystem.

In addition to accessing the available articles, readers are able to create new media articles and share them with the wider community.

The following is the landscape of main components of the web application. The web application is written using the Python Flask framework, and taking SQLite which is a lightweight disk-based database to store the submitted articles.

view

🗿🗿🗿TechTrends web application demo🗿🗿🗿
🤠Interested? Try it out👈

demo

This is NOT only a Flask web app. It is an end-to-end CI/CD (Build, Test, Package, Delivery) showcase.

  • Using Python as backend programming to construct a frontend architecture.
  • Leveraging Docker to package the application.
  • Automating the CI (Continuous Integration) process with GitHub Actions.
  • Deploying the app by conducting Kubernetes declarative manifests.
  • Templating with Helm for convenient distinguishing the different development phase (staging, production).
  • Automating the Continuous Delivery release with ArgoCD.

Prerequisites

Make sure you have the following dependencies installed:

  • Python as programming language to structure the Flask web app.
  • Git for working with GitHub repo and version control tool.
  • Docker to package and ship the codes with isolated container.
  • Virtualbox to create virtual machine.
  • Vagrant for building and managing virtual machine environments. Ensure you have 6.1.16 or higher version installed.

Run Flask

To run this application there are 2 steps required:

  1. Initialize the database by using the python init_db.py command. This will create or overwrite the database.db file that is used by the web application.
  2. Run the TechTrends application by using the python app.py command. The application is running on port 3111 and you can access it by querying the http://127.0.0.1:3111/ endpoint.