Astro Api Gateway

screenshot of Astro Api Gateway

Middleware for https://astrodao.com/

Overview

Astro API Gateway is a powerful tool designed for managing services utilized by Decentralized Autonomous Organizations (DAOs) based on the latest Sputnik DAO Contracts version 2, all built on the NEAR Protocol. It provides seamless interaction with DAO applications while ensuring real-time and historical data synchronization. With its comprehensive set of features, the Astro API Gateway stands out as an essential resource for developers and organizations looking to build efficient and responsive blockchain applications.

The project utilizes a robust tech stack that comprises various technologies, including NodeJS, TypeScript, and PostgreSQL, enabling developers to harness the potential of the NEAR blockchain efficiently. The project structure adopts a standard NestJS monorepo format, promoting organized code management and facilitating collaboration among developers.

Features

  • Data Synchronization: Syncs DAO Contracts data with the database, providing up-to-date information for applications.
  • API Endpoints: Offers a comprehensive set of API endpoints for interaction with DAOs, including options to view, filter, and search data efficiently.
  • Real-time Notifications: Provides a dedicated notifier service for sending notifications and subscribing to service events, keeping users informed of important updates.
  • Modular Architecture: Structured as a NestJS monorepo allowing easy separation and reuse of services and modules across different applications.
  • Flexible Configuration: Main configuration properties can be managed via environment variables, allowing for customizable deployment settings.
  • Database Management: Supports migrations and schema syncing with TypeORM, ensuring a maintainable and flexible database structure.
  • Development Support: Step-by-step local development setup instructions enable developers to quickly run and test various services within their own environments.
  • Code Quality Tools: Incorporates tools like Eslint and Prettier to maintain high code quality and ensure consistency across the codebase.
eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.