fullbazel
fullbazel copied to clipboard
🌿 Fullstack Example Monorepo with Bazel
Usage
Recommended Operating System: Ubuntu 20.04 LTS
Setup
make setup(Install required software and sets up project)
Angular Client
make angular(Start Angular development server, http://localhost:8080)make angular-ssr(Start Angular Production server, http://localhost:8080)
Next.js Client
make next(Start Next.js development server, http://localhost:3000)make next-prod(Start Next.js production server, http://localhost:3000)
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
angular-clientAngular, web applicationnextjs-clientNext.js, web applicationnodejs-serverNode.js, http server
Libraries
angular-toolsBazel, tooling for AngularconfigTypescript, runtime configuration management and build time config generationenumsTypescript, shared enumerationskubernetesYaml, Kubernetes configurationsschemaTypescript, shared Typescript interfacestestingTypescript, testing utilitiestypesTypescript, shared typesui-elementsTypescript, Angular, shared user interface componentswebsocket-storeTypescript, Angular, NgRx module for web sockets
Miscellaneous
development, tooling, configurations and scripts for developmentinfrastructure, Terraform configurations to deploy application in the cloud