Input:

App contains 3 modules: web app, server, strapi.

App structure

WebApp

It's a web application with TG context integration. We use SvelteKit to build fast and robust app. Also, it's much smaller than typical SPA.

Server

It's a nodejs server build with fastify. It allows us to handle lots of requests. Because of the nature of an app our backend works within 2 different storage engines. Redis KV as a user database, where we store current values. Also, we make use of Google BigQuery to store history of balance updates etc.

CMS

As an admin panel we use strapi, it's a pretty solid instrument to provide user-friendly admin panel to customers. Here you can control TG invites, math etc.

BI

Because all historical data stored in BQ, you can easily make reports\dashboards in any BI system. If Metabase is ok for you — we can setup it for you.

Infrastructure

WebApp deployed to CloudFlare pages. Assets from Strapi deployed to CloudFlare R2. You will have to pay for CloudFlare services. Server and CMS deployed to dedicated server in a docker swarm cluster. We have to rent a server for that. In common, we usually stick to OVH.ie, if it's ok — you will have to pass KYC there, and we will be able to deploy there. Stage-Prod: there will be 2 environments (stage and prod). Be aware that they will not sync automatically.

Gant

Milestones

  • Deliver a ready prototype/MVP of the application 3–4 weeks
  • Post-MVP Phase: Testing and bug fixing

Team Composition:

  1. Project Manager:
    • Responsible for overseeing the project and ensuring milestones are met.
  2. Lead Developer:
    • Oversees the development team and ensures the technical direction aligns with project goals.
  3. Backend Developer with Blockchain specialization:
    • Specializes in server-side logic, databases, and integration of application infrastructure.
    • Oversees the integration and implementation of blockchain technologies, including NFTs and wallet authentication.
  4. **Frontend Developer:
  • Focuses on user interface development and ensuring a seamless user experience.
  1. QA Engineer:
    • Conducts testing to identify and fix bugs, ensuring the product meets quality standards.
  2. DevOps Engineer:
    • Manages deployment processes and maintains the infrastructure.

Estimation:

Role1 month2 monthTotalRateTotal
Project Manager8080160203200
Lead Developer201030451350
FullStack Developer16880248358680
Frontend Developer10080180183240
DevOps301040502000
QA6060181080
19550