GithubHelp home page GithubHelp logo

mancvso / emendare Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jimmyleray/emendare

0.0 0.0 0.0 21.02 MB

Democratic platform to draft amendable texts

Home Page: https://emendare.org

License: GNU General Public License v3.0

JavaScript 1.14% HTML 0.65% TypeScript 97.80% CSS 0.41%

emendare's Introduction

Emendare

What is Emendare ?

Emendare is a citizen, non-profit, distributed and open-source initiative. It helps groups share and improve texts iteratively.

The tool mimics the parliament process, allowing all participants to suggest alterations to a text, called amendments.

All groups seeking to organize themselves horizontally, be they companies, associations, political movements or local authorities, are welcome to use Emendare.

Technical stack

The current technical stack of Emendare is :

TypeScript as the main language for the entire project

  • Client side :

    • ReactJS as a framework for the web user interface
    • Bulma CSS as a css framework based on Flexbox
  • Instance side :

  • Register side :

    • NestJS as a progressive NodeJS framework
    • TypeORM as an ORM layer between the application and the database
    • MongoDB as database

Getting started

These instructions explain how to run a local instance of Emendare for development, but also how to build the application for production.

Prerequisites

To set up the project, you must have Node.js installed. To install Node.js, please refer to the Node.js official documentation

You can optionnaly install Docker-Compose to start more easily the Mongo database. To install Docker-Compose, please refer to the Docker Compose official documentation

Installation

The installation of the project requires 2 steps: a configuration of the server and another of the client.

Database

The first step will be to create the MongoDB database. To do so, just create a docker container with a Mongo image, following the steps below.

cd server/

then create the Mongo image :

docker-compose build

This 'build' command must only be entered during installation.

you can finaly run the container :

docker-compose up

The database is accessible at the following address: localhost: 27017 / emendare.

Register configuration

This registry behaves like a service registry, where any instance of Emendare can register. It will permit to switch easly between different instances.

First install all the dependencies :

npm install

Then start the server either for production :

npm run build
npm start

Or for development (run these commands in two separates terminals) :

npm run dev

Server configuration

First install all the dependencies :

npm install

Then start the server either for production :

npm run build
npm start

Or for development (run these commands in two separates terminals) :

npm run dev

These commands will start the server at the following address : localhost:3030

Client configuration

To run the client, the first step will be to install the dependencies.

cd client/
npm install

The client can now be started in two modes :

  • in development :
npm run dev
  • in production :
npm run build
npm start

The app.js server will allow http redirection to https as well as Gzip compression of the application files.

Contributions

To contribute to this project please refer to Guide for contributors

emendare's People

Contributors

code-factor avatar dependabot-support avatar dependabot[bot] avatar fossabot avatar greenkeeper[bot] avatar gwenker avatar imgbotapp avatar jimmyleray avatar matth10 avatar mstahlmann avatar nlepage avatar noxionx avatar renovate-bot avatar

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.