Repository for the Regulatory Impact Analysis project.
In the Greek Legislative Procedure any new law and any amendment of any law submitted in the Greek Parliament is accompanied by a Regulatory Impact Analysis. This analysis is composed by a set of eight distinct essays, each documenting a series of potential impacts.
This project aims to digitalize the Legislative Procedure, providing an end-to-end solution, from the drafting of a law, to gathering the digital signatures of Ministers and to its final submission in the Greek Parliament for voting.
As a platform, it allows multiple users to intervene at different stages to the composition of the final Analysis, using a multi-page form with several fields that capture the necessary information. It follows the whole lifecycle of the production of the final Analysis and minimizes the exchange of information via emails between Ministries.
The frontend is implemented using html forms with ejs templating and jquery.
The backend is implemented using express.js and sequelize.
- etc: Configurations.
- init: Initial sql script to be run if database tables are empty.
- lib: Contains helper functions.
- middleware: Includes express.js middleware, such as pdf generation.
- models: Sequelize models.
- public: Contains images, fonts, frontend js scripts and files.
- routes: Contains express.js routes.
- services: Includes database connection setup.
- views: Forntend pages.
- npm
- Node.js >= 14.21.3
- Docker
- Download and istall Prerequisites.
- Clone project.
- Run
npm i
to install project packages. - Run
cp .env.sample .env
. - Free ports defined in Dockerfile and docker-compose.yml.
- Build images:
docker-compose -f docker-compose.yml build
- Start app:
docker-compose -f docker-compose.yml up -d
For local development see Development.md.