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-client
Angular, web application -
nextjs-client
Next.js, web application -
nodejs-server
Node.js, http server
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