Skip to content

princ3od/timgiuptui-services

Repository files navigation

Timgiuptui services

timgiuptui

Event-driven microservices for timgiuptui.com. All stacks are deployed on Google Cloud Platform.

Tech stack

  • Frameworks: FastAPI, Flask
  • Database: Firestore
  • Event handling: Cloud Pub/Sub
  • Cronjob: Cloud Scheduler

Installation

Each service has its own README.md file. Please refer to each service's README.md file for installation instructions.

Generally, you need to install the following:

  • Python 3.8+
  • Docker
  • Docker Compose

For better development, you can install shared packages:

pip install -e shared/

Diagrams

System Design

image

Crawling Process

crawling-proccess

CI/CD Flow

cicd-flow

Services

gateway

  • API gateway
  • FastAPI

crawler

  • crawl news from different sources
  • Flask

articles

  • CRUD articles
  • FastAPI

handler

  • handle crawled news
  • Flask

platform

  • manage analytic, configuration
  • FastAPI

search

  • search articles
  • FastAPI

analytics

  • analyze metrics from crawled news
  • Flask