Skip to content

A full-stack project template to easily launch your blockchain dApp 🚀

License

Notifications You must be signed in to change notification settings

edenia/full-stack-boilerplate

Repository files navigation

image

Edenia Full-Stack Boilerplate

A highly scalable skeleton with best practices, fullstack monorepo containing both our Front-End and Back-End development frameworks.

Features!

This boilerplate features all the latest technologies and practices in the industry.

  • Hapi
  • Hasura
  • React
  • Kubernetes
  • Antelope + EOSIO Blockchain Integration

Installation

Getting Started

Some things you need before getting started:

First Time

Copy the .env.example then update the environment variables according to your needs.

cp .env.example .env

Quick Start

  1. Clone this repo using git clone --depth=1 https://github.com/edenia/full-stack-boilerplate.git <YOUR_PROJECT_NAME>.
  2. Move to the appropriate directory: cd <YOUR_PROJECT_NAME>.
  3. Run make run in order to start the project using docker compose.

At this point you can navigate to http://localhost:3000.

File Structure

Within the download you'll find the following directories and files:

├── docs
│   └── img
├── hapi
│   └── src
│       ├── config
│       ├── routes
│       ├── services
│       └── utils
├── hasura
│   ├── metadata
│   ├── migrations
│   └── seeds
├── kubernetes
├── utils
├── wallet
│   └── config
└── webapp
    ├── public
    └── src
        ├── components
        │   ├── Footer
        │   ├── Header
        │   ├── Loader
        │   ├── Message
        │   ├── PageTitle
        │   └── Sidebar
        ├── config
        ├── context
        ├── gql
        ├── language
        ├── layouts
        │   └── Dashboard
        ├── routes
        │   ├── About
        │   ├── Help
        │   ├── Home
        │   └── Route404
        ├── theme
        └── utils

Technical Documentation

Infrastructure Diagram

Technologies Specification

Kubernetes Cluster

At Edenia, we build software taking into consideration the high availability of the services that can integrate it. For this, we use Kubernetes, which allows isolating modules to reduce the risk of the system collapsing. In the image above, you can take a look at our representation of the architecture we consider to be more suitable for our purposes.

Web Application

This FullStack Template uses React.js as a Frontend Library which together with other tools like Apollo Client, GraphQL, and Material UI brings a robust solution for building Single Page Applications out of the box.

Backend

Hasura GraphQL Server

Hasura technology maps a PostgreSQL database and provides a reliable and easy-to-use API. This allows us to focus on critical features of our projects, delegating mechanic CRUD (Create, Read, Update, Delete) operations. Hasura also enables custom REST handling capabilities with the possibility to integrate a custom REST server, that way we can extend the base CRUD functionalities and build custom business logic.

Hapi REST Server

We need to handle REST custom requests coming from the Hasura GraphQL server. For this, we use hapi.dev, which is a simple and easy-to-use backend framework.

Antelope Blockchain Technology Integration

As a company that delivers EOSIO / Antelope blockchain-based solutions, we build a template that integrates this blockchain protocol, specifically eosjs. This allows us to iterate quickly over the more challenging features of our projects.

Contributing

Please Read EOS Costa Rica's Open Source Contributing Guidelines.

Please report big and small bugs by opening an issue

About Edenia

image

Twitter Discord

Edenia runs independent blockchain infrastructure and develops web3 solutions. Our team of technology-agnostic builders has been operating since 1987, leveraging the newest technologies to make the internet safer, more efficient, and more transparent.

edenia.com