Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/api3dao/dapp-registry


https://github.com/api3dao/dapp-registry

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

# @api3-ecosystem/dapp-registry

> A registry of all dapps that are part of the API3 ecosystem

- [Listing your project](#listing-your-project)
- [API](#api)
- [PROJECTS](#projects)
- [Types](#types)
- [Development](#development)
- [Validation](#validation)

## Listing your project

To list your project in the API3 dapp registry, follow these steps:

- Fork this repository
- Add a new json with the same name as your project to `/projects`. You can use this [project](./projects/Shrike-Perps.json) as a starting point
- Run `yarn build` to build the project. This will also validate the json file
- Create a pull request with your changes

## API

The following variables/functions are exported from this package

### PROJECTS

A static array of `Project` objects that contain all the information about each project in `/projects`.

### Types

Types are also exported and can be found in `src/types.ts`.
Types are generated from [zod](https://github.com/colinhacks/zod) schemas.
These schemas are also used to validate each project.

## Development

This project works by combining the various JSON files defined in the `/projects` directory into a single generated TypeScript file.
This file is then validated to ensure that each project description conforms to specific requirements.
The TypeScript file is generated by running any of these commands

```sh
yarn generate:projects

# Alternatively, watch the /projects directory and regenerate on file change
yarn dev
```

### Validation

Validations can be run with the following commands.

```sh
# Validate each project JSON file conforms to the zod schemas
yarn validate:projects

# Run all validations synchronously
yarn validate
```