logo

Build and manage your own token.

Type

Blockchain Platform

Industry

blockchain

Student Coin is the first platform that allows users to easily design, create, and manage personal, corporate, NFT, and DeFi tokens. The platform connects students and organisations from over 500 of the world’s best universities.

Student Coin uses the STC Token. This is a reference currency for all tokens in the network. By holding STC, the investor is holding part of every token ever created with the Student Coin.

The ICO of Student Coin was a huge success, generating $28 million in its set time.

Services

Blockchain DevelopmentFrontendBackendProduct Design

Our challenge

Student Coin came to 10Clouds for support with building the entire frontend and backend of its product, complete with UX and product design.

The goal of the platform is to allow users to control their personalized tokens as easily as a social media platform.

Our challenge

Frontend

For the frontend application, we used ReactJS with TypeScript and Ant Design visual components. We prepared all the typical user management pages allowing users to create accounts, log in, recover accounts and verify their email.

The next step was to prepare a token creation form, which allowed logged in users to familiarize themselves with possible token options such as type, decimals, vesting and sale configuration. They could then select settings that best fit their scenario, and deploy the contract generated accordingly to the blockchain network. This required an integration of a React application with popular wallets so that users could use their browser extension (Metamask) or mobile application (WalletConnect) to approve blockchain transactions generated by the app.

The final step was the creation of a dashboard page, where the user can track state and statistics of his token, as well as interact with Smart Contracts that handle it. Statistics displayed in multiple tables were fetched from the backend, and all contract interactions used an ethers library to call the methods of deployed token contracts.

Frontend

Backend

The backend was created in NodeJS with an express package. It's main purpose is to provide the frontend application with all information about created tokens.

First, we created the services responsible for authorizing and managing user sessions. They will later be integrated with Student Coin's services, so that they share the same database of users.

The second step was storing all token settings in the frontend application using the Postgres database, as well as some additional metadata regarding blockchain deployment status. All this data could be then retrieved by the frontend.

Lastly, a service was built to cache token transactions. It queries the blockchain periodically, and stores the transactions and account balances in the database for easier and quicker querying.

Backend

Blockchain

For writing smart contracts we used the Hardhat framework, Waffle testing suite and OpenZeppelin libraries. We prepared a main factory contract connected with multiple specific factories that were deploying individual components.

The ERC20 token was mostly based on OpenZeppelin implementation - but it was extended to allow dynamic configuration by passing arguments in the constructor.

All other contracts are heavily inspired by OpenZeppelin and even include a lot of its utilities. The Crowdsale contract was created based on the OpenZeppelin Crowdsale V2 reference - the legacy version that was updated to fit current Solidity runtime.

All contracts are unit tested by using builtin ethers.js and underwent an intensive internal Q&A process - but note that a proper security audit has not yet been performed and it is recommended as a must have before going to mainnet.

Blockchain

DevOps

As we were starting from the beginning with the infrastructure, the first step of the solution was to analyse what elements would fit best for the blockchain nature of the application.

The second step was to create all the needed elements of the planned 2 environments and configure it to meet our required expectations. Among other things, this meant preparing terraform code with terragrunt for EKS cluster and all K8S manifests needed, RDS database and required accesses. When the setup was complete, the final step was to prepare a full CI / CD automation process for the application deployment.

For that, a combination of GitHub Actions + ArgoCD was used. During project development, there was also priority for debugging all infrastructure based problems, and enhancing / modifying the infrastructure to suit new features and changes.

DevOps

Design

We began with a scoping workshop featuring the entire Student Coin team. We created user story maps and user flow diagrams, and later followed these up with more detailed wireframes. From these, we designed a dashboard and token form wizard, a landing page, 3D animations and icons, giving the Student Coin brand a unique look and feel.

Design

Check other case studies

ETS Language Muse

Language Muse is an NLP-based educational platform for teachers working with U.S. students who face the challenge of learning English as their second language.

Design
Development
DevOps
DevOps
ETS Language Muse case study image

TimeION

TimeION simplifies the time off request policy and makes the experience pleasurable for both employees and managers.

Design
Development
Development
TimeION case study image

GoSeqIt

10Clouds provided a platform that allows conducting DNA analysis through the internet, from any place on Earth. It computes and stores all data in the cloud and generates legible reports.

Design
Development
DevOps
DevOps
GoSeqIt case study image

Zapp RideShare

Zapp RideShare is an electric scooter rental service operated with a mobile app. Our team is responsible for the complete product makeover.

USA
TRANSPORTATION
TRANSPORTATION
Zapp RideShare case study image

Get the full story on how we help companies get results faster.

Contact us