A highly scalable skeleton with best practices, ideal for backend projects quick start.
This boilerplate features all the latest tools and practices in the industry
-
hasura Hasura GraphQL Engine is an opensource service that connects to your databases & microservices and auto-generates a production-ready GraphQL backend
-
hapi A back end service for custom busines logic integrated with hasura using actions
-
docker-compose Compose is a tool for defining and running multi-container Docker applications
Within the download you'll find the following directories and files:
eoscrbackendboilerplate/
├── hasura
│ ├── migrations
│ └── config.yaml
├── hapi
│ ├── src
│ | ├── config
│ | ├── api
│ | ├── routes
│ | └── config.yaml
│ ├── .dockerignore
│ ├── .eslintrc
│ ├── .prettierrc
│ ├── Dockerfile
│ ├── yarn-lock.json
│ └── package.json
├── .env.example
├── .gitignore
├── docker-compose.yaml
├── .LICENSE
├── .prettierrc
├── Dockerfile
├── LICENSE
└── README.md
There are some important folders like
hapi/src/api
should have all reusable code for example a code to generate tax invoicehapi/src/routes
this folder should only have the endpoint mapping and params validations and use functions from api folder to handle the business logic
Basic knowledge about Docker, Docker Compose and NodeJS is required.
Some things you need before getting started:
- Clone this repo using
git clone --depth=1 https://github.com/eoscostarica/backend-boilerplate.git <YOUR_PROJECT_NAME>
- Move to the appropriate directory:
cd <YOUR_PROJECT_NAME>
. - Copy the
.env.example
then update the environment variables according to your needs
At this point you can execute make run
, you can check the services runing on:
- hapi at http://localhost:9090
- hasura at http://localhost:9695
Please Read EOS Costa Rica's Open Source Contributing Guidelines.
Please report bugs big and small by opening an issue
EOS Costa Rica is an independently-owned, self-funded, bare-metal Genesis block producer that provides stable and secure infrastructure for the EOS mainnet. We support open source software for our community while offering enterprise solutions and custom smart contract development for our clients.