Skip to content

kylehipolito/nest-blog-app

Repository files navigation

NestJS Blog App

Purpose

NestJS Blog App is a simple application that can handle blog posts just like medium, twitter, facebook. The real purpose for creating this application is to learn new technologies and practice creating software architecture that is scalable and highly-available

Goals

  • Proficiency in creating microservices in NestJS
  • Excellence in systems design
  • Excellence in CI/CD
  • Learn Kubernetes
  • Application monitoring

Functional Requirements

  • A user should be able to register to the platform
  • A user should be able to create/update/delete a blog
  • A user should be able to follow another user
  • A user should have a home feed, which contains the blogs of users that the user follow

Non-functional Requirements

  • 50 million users create/update/delete blogs
  • 100 million users read their home feed
  • Fast response times
  • Real-time updates

Database Design

Database Design

High-level architecture

image

Architecture design for high availability

image

Technology Stack

  • NestJS
  • Postgresql
  • Docker
  • Elasticache - Redis
  • Terraform
  • Terragrunt
  • AWS Kubernetes
  • AWS Fargate
  • RabbitMQ
  • Prometheus
  • Grafana
  • Github Actions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published