Welcome to the world of ICOs! Today, we will explore the backend module of the Secret_Tech ICO dashboard, a comprehensive solution designed to manage ICO investors, process token purchases, and ensure secure transactions. In this blog, we will guide you through the setup and functionalities of the ICO dashboard, providing you with all the necessary details to get started effectively.
Functionality Overview
The main features of the Secret_Tech ICO Dashboard Backend include:
- Registration for ICO investors
- Generation of Ethereum addresses upon user activation
- KYC verification via Jumio Netverify and Shufti Pro services
- Facilitating token purchases
- Displaying investor transaction history
- Security measures including two-factor authentication (2FA) for critical actions
Technology Stack
This dashboard is built using an impressive array of technologies:
- TypeScript, Express, InversifyJS for dependency injection, and TypeORM for MongoDB interaction
- Web3JS for interaction with Ethereum clients
- Mochachai for unit and functional tests
- Docker for containerization
How to Start Development and Run Tests
Let’s walk through the steps required for setting up the development environment:
- Clone the repository from GitHub.
- Run
docker-compose build --no-cache
to build the Docker containers. - Initialize the application with
docker-compose up -d
. - Copy the test environment variables using
cp .env.test .env
. - Install necessary dependencies with
docker-compose exec ico yarn
. - Execute the tests using
docker-compose exec ico yarn test
.
Generating Documentation
To generate the API documentation:
- Install Aglio:
npm install -g aglio
. - Create necessary directories:
mkdir usrlocallibnode_modulesaglionode_modulesaglio-theme-oliocache
. - Run the Aglio command:
aglio --theme-variables cyborg --theme-template triple -i apiary.apib -o .docsindex.html
.
Launching the Project
Getting Started
Follow these steps to launch the project:
- Clone the repository.
- Define the required environment variables in the
.env
file (you can copy from.env.stage
or.env.prod
). - Build services:
docker-compose build --no-cache
. - Start the services:
docker-compose up -d
. - Ensure that the auth and verify services are accessible.
Building the Application
To build the application:
- Install dependencies:
docker-compose exec ico npm i
. - Build the project:
docker-compose exec ico npm run build
. - Generate a token for a tenant with the following curl commands:
curl --include \
--request POST \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data-binary '{ "email": "test@test.com", "password": "Password1" }' \
http://auth:3000/tenant
curl --include \
--request POST \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data-binary '{ "email": "test@test.com", "password": "Password1" }' \
http://auth:3000/tenant/login
.env AUTH_JWT
.dist/certs
directory.src
directory as necessary.npm run serve
.npm run start
.Troubleshooting
Even the best-laid plans can encounter snags. Here are some troubleshooting tips:
- If you encounter issues while building the project, ensure that you’re running the correct Docker commands.
- Check the environment variable setup in your
.env
file to ensure proper database connections. - For permission issues, run your commands with elevated privileges.
- If you experience issues with KYC verification, ensure that the APIs for Jumio and Shufti Pro are correctly configured and accessible.
- For compilation errors, double-check the TypeScript configurations and dependencies.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
By following the outlined steps, you will successfully set up and operate the Secret_Tech ICO Dashboard Backend. This powerful tool paves the way for managing investors in the ever-evolving landscape of ICOs. Remember, security and efficiency are paramount in this domain!
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.