Skip to content

drakery3d/fullbazel

Repository files navigation


Fullstack Bazel

Fullstack example monorepo for building web apps with Bazel

Usage

Recommended Operating System: Ubuntu 20.04 LTS

Setup

  • make setup (Install required software and sets up project)

Angular Client

Next.js Client

Development

  • make server (Start development backend services)
  • make test (Unit tests with Bazel)
  • make lint (Check linting)
  • make test-integration (Integration tests with Jasmine and Testcontainers)
  • make check-dependencies (Check npm dependencies)

Deployment

  • make init-infrastructure (Initialize infrastructure)
  • make plan-infrastructure (Plan infrastructure)
  • make update-infrastructure (Update infrastructure)
  • make destroy-infrastructure (Destroy infrastructure)
  • make deploy (Deploy to Kubernetes cluster)

Codebase

Services

Libraries

  • angular-tools Bazel, tooling for Angular
  • config Typescript, runtime configuration management and build time config generation
  • enums Typescript, shared enumerations
  • kubernetes Yaml, Kubernetes configurations
  • schema Typescript, shared Typescript interfaces
  • testing Typescript, testing utilities
  • types Typescript, shared types
  • ui-elements Typescript, Angular, shared user interface components
  • websocket-store Typescript, Angular, NgRx module for web sockets

Miscellaneous

  • development, tooling, configurations and scripts for development
  • infrastructure, Terraform configurations to deploy application in the cloud