Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

raed667/demo-project

Repository files navigation

Demo-Project: Full-stack TypeScript Application

Status: On hold until refactor using Nest

backend backend-realtime frontend

chart

A demo project to showcase different technologies and how they work together. The ultimate goal is to have a full-stack, production-ready application.

ui

You can use the setup.sh script to run it locally.

asciicast

The goal for this project is to be a "domain driven" starter that will help you bootstrap a new application in seconds and just work your business logic instead of all the bootstrapping.

Inspired by ts-app, this project aims to be a little lighter version of that project, with clearer separation of frontend and backend code. And a bigger focus and metrics and monitoring.

Where do I start

You can start by running:

sh ./setup.sh

You can also start the project locally:

yarn dev

After you finish you can clean your setup with:

sh ./clean.sh

Status

Work in progress.

System Requirements

Technologies Used

Todo

A high-level list of

  • SQLite in dev
  • PG in docker
  • Redis for cache
  • Setup script
  • Setup initial DB data in a migration
  • Prometheus for metrics
  • Grafana for monitoring
  • Frontend: CRA for client
  • Frontend: validation using Yup, mui-rff
  • Cache redis on get /users query
  • Kafka producer for real-time events
  • Nginx for web-server
  • Kafka consumer for real-time events
  • Web-Socket
  • Start-up script
  • Refactor backend to use Nest
  • Refactor frontend to use Next (or remix)
  • Secure Nginx
  • Generate client from swagger.json
  • Deploy on a production environment (OVH, GCP, AWS..)

FOSSA Status