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
The app is a React app built with React.js.
To start local development:
git clone [email protected]:Aletheia-Data/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:3000
.
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
To create a production build, run from the root of the project:
npm run build
# serve production build
npm run serve
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 to discuss what you would like to change.
Please make sure that for each PR the necessary test are done.