Coder Social home page Coder Social logo

api.aletheiadata.org's Introduction

Gitpod

Gitpod ready-to-code

API Aletheia Data

Aletheia is an Open Source project that seeks to encourage both public and private entities to facilitate access to public information, so that it can have a more relevant social impact.

As developers we have seen the need to make use of public information (information in the public domain that should be available and accessible by law), but in the search we quickly realized that although the information is (in part) available, it is not organized in a way that is easy to use (uses that can range from the simple consultation of the data, to statistical use or to create computer smart products oriented to citizens.

Another problem that we frequently find is the lack of a standard in the format of these files. As well as the use of formats that DO NOT allow the extraction of the information. We know that, like us, there are other Citizens who need to access this data and this is why we decided to develop an Open API to facilitate access and distribution of resourceful public information.

The objective is to create an ecosystem where these files are ALWAYS available, accessible 24 hours a day and accompanied by APIs to facilitate the consumption and exchange of this information while providing an immutable and reliable "single source of truth".

Table of Contents

🏄 Get Started

The app is a Express api built with Node.

Web3 Technologies

  • IPFS
  • Fleek.co

To start local development:

git clone [email protected]:Aletheia-Data/api.aletheiadata.org.git

# when using nvm to manage Node.js versions
nvm use

npm install

Finally, set environment variables to use this local connection in .env in the app:

# modify env variables
cp .env.dist .env

npm start

This will start the development server under http://localhost:8000.

✨ Code Style

Code style is automatically enforced through ESLint & Prettier rules:

  • Git pre-commit hook runs prettier on staged files, setup with Husky
  • VS Code suggested extensions and settings for auto-formatting on file save
  • CI runs a linting & TypeScript typings check as part of npm test, and fails if errors are found

For running linting and auto-formatting manually, you can use from the root of the project:

# linting check
npm run lint

# auto format all files in the project with prettier, taking all configs into account
npm run format

💖 Contributing

We welcome contributions in form of bug reports, feature requests, code changes, or documentation improvements.

Please make sure to follow our guidelines:

For important changes please create first an (issue)[https://github.com/Aletheia-Data/api.aletheiadata.org/issues/new] to discuss what you would like to change.

Plase make sure that for each PR the necessary test are done.

api.aletheiadata.org's People

Contributors

enzovezzaro avatar aletheiadata avatar dnoishi avatar

Stargazers

 avatar

Watchers

 avatar

api.aletheiadata.org's Issues

Search - check order and query fuzz

Is your feature request related to a problem? Please describe.
check if the order is working properly and add fuzz to the params accepted by the api

create Filecoin status endpoint

Is your feature request related to a problem? Please describe.
Create an endpoint to get filecoin information based in CID

Describe the solution you'd like
import web3.storage lib and get information using the CID

Create upload asset endpoint

Is your feature request related to a problem? Please describe.
Create endpoint to upload assets to the system, as well as integrating it into rapid api

  • make endpoint /v2/ops/assets/add
  • integrate parser and uploader onto express
  • integrate endpoint into rapid api -- we'll do it later

create Data api endpoints

create Data API endpoints:

  • /v1/api/:entity/getAll

Entities:

  • categories
  • departments
  • sources

Point to consider: create a util to access mongo's data api

Server Endpoints design for v2

Is your feature request related to a problem? Please describe.
We need to mock the new Data modelling for v2. Take into consideration what we already have built on v1.

Endpoints:

System

/system/info
/sends

Open API

/imports/{importID}
/categories/{categoryID}
/sources/{sourceID}
/publishers/{publisherID}
/metadata/{assetID}
/proofs/{proofID}
/users/{userID}
/avatars/{avatarID}
/stats/{:asset}/{:assetId}
- ops
- asset-formats
- most-uploads-users

Services

/services/search
/services/transform
/services/screenshot
/services/minisearch
/services/filecoin/{:cid} ----> will change to /services/{:network}/asset/{:cid}

--- future ----

Networks:

  • IPFS
  • Arwave
  • Polygon

/services/{:network}/nft/orders/{:tx} // polygon
/services/{:network}/asset/{:cid} | filecoin, arwave

toward 1.3 🏃🏽‍♂️⚡️

minor improvements before v1.3.0 public release
test branch: main

Security

  • block origins (allow rapid api)
  • check what we can do to improve upon what we have out of the box from rapid api
  • cleanup

Queries

  • add owner param to /:entity/getAll in API wallet_address to rapid API
  • check all queries
  • check filters / sorting / order
  • remove deprecated endpoints
  • check if we can add the correct code to failing calls
  • check the status of the scrapper
  • check if 50mb of upload is enough

Create dashboard endpoints

We need to move all dashboard's queries to Rapid API. To do so, we need to:

  • wait for the list of endpoints
  • create endpoints
  • communicate new endpoints to add to Rapid API

Issue on Dashboard

add connection for external API's

Is your feature request related to a problem? Please describe.
this feature will allows us to connect to any source of information.

We need to talk about it and find a way to make adaptable and extendable

EMAIL - create sendEmail endpoint

Is your feature request related to a problem? Please describe.
create endpoint to send emails based on params

____ NOT NEEDED, USED WEB3 FORMS INSTEAD ____

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.