Logo Cinquin Andy Signature

Neova Protocol Web3

Développeur Freelance - Logo

The project in image

Project summary

I joined a project about 8 months ago called Neova Protocol. It's a company in the web3 space with a variety of tools. The company's goal is to compete with huge corporations like Google, Facebook, LinkedIn, and Amazon.
When I started, the project was in a pretty bad state. A lot of things weren't working, the infrastructure was massive, and there were a series of errors that hadn't been fixed over time, mostly due to previous interns and apprentices. I walked into a situation with two years of development and no self-reflection from the developers during that time.
My first task was to dive into the world of Kubernetes and web3, learning technologies like IPFS and understanding the complexities of cryptocurrency systems, blockchain encryption, and more.
The project has around 30 repositories, each with its own features and issues to solve. To give you a rough overview of what we have:
  • A classic Next.js landing page with an advanced, modern, and clean design.
  • A drive that connects to a backend IPFS system for data storage.
  • A point management application for the platform's users. Everything in the Neova ecosystem is based on Neova Points, which are tied to the project's tokenomics.
I had to develop a new application for our backend to control these points and distribute them to the most active private beta users.
With the help of my best friend, Bréval, who joined me about four months into the project, I also refactored the entire backend, which consisted of about fifteen services. As a team of two developers and one apprentice, we also migrated everything from Kubernetes to Coolify. Since we are a small team, it's a lot easier and more flexible to deploy things directly with Coolify and manage production, pre-production, and staging environments. This gives us much more control over the overall infrastructure and allows us to scale more easily, at least for now.
We also wrote comprehensive documentation for all the microservices and different parts of the ecosystem. This will make it much easier for future developers to join the project without being completely lost or overwhelmed by its sheer size.

Neova Ecosystem Services Summary

This is a breakdown of the services in the Neova ecosystem, organized by category with a brief description of what they do.

Internal Services (Node 1)

  • Uptime Kuma: Monitors service availability in real-time. It sends alerts if a service goes down, ensuring constant system health checks.
  • Umami: A web analytics tool that provides traffic statistics without collecting personal data, respecting user privacy.
  • Vaultwarden: A password manager for securely storing the team's and system's login credentials.
  • Coolify: A PaaS (Platform as a Service) platform that simplifies deploying and hosting web applications.
  • Homer: The main dashboard we use. It serves as a central access point for all other services.
  • Metabase: A KPI (Key Performance Indicator) dashboard that visualizes data to help with decision-making by analyzing key metrics.
  • Nexus: A container registry for storing, managing, and distributing Docker container images for our applications.
  • Infisical: A secret management service for securely and centrally storing sensitive information like API keys and passwords.

Core Services (Master)

  • Keycloak: A robust authentication system that manages users, their permissions, and access control for applications.
  • RabbitMQ: A message broker that facilitates communication between the different services in the architecture. It ensures messages are reliably delivered, even under heavy load.
  • Rewards App: The dedicated service for managing the rewards program.
  • IPFS Cluster, IPFS Gateway, IPFS API: These three services work together for decentralized data storage. IPFS Cluster ensures data redundancy across the network, IPFS Gateway provides access to IPFS data via a standard protocol (like HTTP), and the IPFS API offers programming interfaces to interact with the IPFS network.

Web Frontends (Production)

  • Landing Page: The project's main homepage.
  • Drive: The file storage service for users.
  • Worker: A production service that runs background tasks (data processing, conversions, etc.).
  • Docs: The project documentation site, which provides technical information and user guides.
  • Litepaper: A concise document that presents the project and its vision.

External Services

  • GitHub Project: A Kanban board for task management and tracking the progress of development projects.
  • Sentry: A real-time error tracking service that alerts the team to bugs and issues in the application.
In short, this architecture combines internal monitoring and management services with core services for authentication and decentralized data storage, all accessible via dedicated web interfaces.
The ultimate goal of Neova and all its services is to compete with tech giants like Amazon and Google. The aim is to provide users with decentralized and completely end-to-end secure services like file signatures and cloud storage.

The technologies used

icon-3d
(Next.js)
icon-3d
(React)
icon-3d
(Typescript)
icon-3d
(Node.js)
icon-3d
(Kubernetes)
icon-3d
(Docker)
icon-3d
(Ipfs)
icon-3d
(Rabbitmq)
icon-3d
(Postgresql)
icon-3d
(Metabase)
icon-3d
(Nginx)
icon-3d
(Redis)
icon-3d
(Grafana)
icon-3d
(Prometheus)
icon-3d
(Tailwindcss)

The sites and the associated resources.

DEVELOP YOUR PROJECTS TOGETHER

An idea, a project? I'm here to answer your questions and help you.
I'd be delighted to discuss your project with you!