A Token Sale Platform For EOS,Built With React.js
EOS Token Sale Platform
A decentralized Token Sale platform, which allows users to set up a token sale, determine the token sale parameters, and deploy their sale onto the EOS Mainnet.
We are proposing to develop a Token Sale Smart Contract system that allows for the crowdsourcing of projects through a token sale that can be configured with different parameters like staking capabilities, whitelisting requirements, token vesting, etc.
You can read about the full specs of these 2 Smart Contracts here:
TOKENSALE PLATFORM – SCOPE OF WORK
Technical Features
This project features all the latest technologies and practices in the industry.
- Hapi
- Hasura
- React
- Kubernetes
- EOSIO
Installation
Before you Start
Somethings you need before getting started:
Project Setup
Copy the .env.example
then update the environment variables according to your needs.
cp .env.example .env
Quick Start
- Clone this repo using
git clone --depth=1 https://github.com/eostarter/token-sale-platform.git <YOUR_PROJECT_NAME>
. - Move to the appropriate directory:
cd <YOUR_PROJECT_NAME>
. - 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.
Contributing
Please Read EOS Costa Rica’s Open Source Contributing Guidelines.
Please report bugs big and small by opening an issue
About EOSstarter
EOStarter is a Community-powered Incubator and Gamified Launchpad for EOS projects.