This is a template repository for developing everything needed for a single modern web application/project in a monorepo fashion. The template is based on the following technologies/frameworks:
- devcontainer for reproducible and fully sandboxed development enviroments based on Docker containers
- Hapi as a backend framework
- PostgreSQL as the database
- Vue as a frontend framework
- Terraform for infrastructure-related tooling
This template also includes some examples of usage, namely a backend integration with AdminJS to provide a standard, easy to use admin dashboard on top of Objection/Schwifty models and database resources, as well as an example of integration between frontend and backend.
- install the required dependencies
- clone this repository (or create a new one using this as a template)
- open the repository inside Visual Studio Code
- launch the development environment, either by clicking on "Reopen in Container" when prompted, or by opening the command palette (
CTRL + SHIFT + P
) and searching for the "Dev Containers: Rebuild an Reopen in Container" command - develop as you would normally, keeping in mind to always work inside the container (e.g., by using the VSCode internal terminal, which is automatically created inside)
- to start the backend, go inside the
backend
directory and runpnpm start
; to run the frontend, go inside thefrontend
directory and runpnpm run serve