eoscostarica / eos-support

Service and Support from EOS experts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EOSCR Boilerplate

N|Solid

A highly scalable skeleton with best practices, fullstack monorepo containing our front end and backend boilerplates.

Version

  • 0.1.0

Features!

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

  • Hapi
  • Hasura
  • React
  • Kubernetes
  • EOSIO

Installation

Before to Start

Somethings 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/eoscostarica/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 EOS Costa Rica, we build software taking into consideration a high availability of the services that can integrate it. For this, we use Kubernetes, that allows to isolate modules in order 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 is more suitable to 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 allow 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.

EOSIO Blockchain Technology Integration

As a company that delivers EOSIO blockchain-based solutions, we build a template which contains EOSIO integration, specifically eosjs. This allow us to iterate quickly over the more challenging features of our projects.

License

MIT © EOS Costa Rica.

Contributing

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

Please report bugs big and small by opening an issue

Contributors

Thanks goes to these wonderful people (emoji key):

Xavier Fernandez
Xavier Fernandez

🤔 📝 📢 🚇
Teto Gomez
Teto Gomez

🤔 💻 👀
Adriel Diaz
Adriel Diaz

🤔 💻 👀

This project follows the all-contributors specification. Contributions of any kind welcome!

About EOS Costa Rica


EOS Costa Rica is an independently-owned, self-funded, bare-metal Genesis block producer that provides stable and secure infrastructure for EOSIO blockchains. We support open source software for our community while offering enterprise solutions and custom smart contract development for our clients.

eoscostarica.io

About

Service and Support from EOS experts

License:MIT License


Languages

Language:JavaScript 74.5%Language:Makefile 16.5%Language:Dockerfile 4.4%Language:HTML 2.6%Language:Shell 1.9%