You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Pierre-Louis Guhur 061819cff0 fix: set limit date context 1 week ago
.circleci fix(ci): update docker image for Node orb (#61) 2 years ago
.github Create ISSUE_TEMPLATE.md 3 years ago
components fix: set limit date context 1 week ago
config update dep 3 years ago
functions fix: remove alert 2 weeks ago
pages fix: Davids feedback 2 weeks ago
public fix: date end election 1 week ago
scripts update dep 3 years ago
services fix: candidates 1 week ago
styles fix: replace mediocre by excellent 3 weeks ago
tests fix: emailing 2 months ago
.eslintrc.json.bak fix: build works 11 months ago
.gitignore fix env 2 years ago
LICENSE Create LICENSE 3 years ago
Makefile switch to Nextjs 2 years ago
README.md fix: license 3 weeks ago
i18n.config.js wip: params field 3 months ago
jsconfig.json switch to Nextjs 2 years ago
l10n.toml feat: add localisation 5 months ago
netlify.toml feat: sending mails works 2 months ago
next-env.d.ts feat: convert to typescript 3 months ago
next-i18next.config.js fix: minor texts & ui 4 weeks ago
next.config.js fix: fonts 3 months ago
package-lock.json build(deps): bump json5 from 1.0.1 to 1.0.2 3 weeks ago
package.json fi:x modifications from Chloé 2 months ago
tsconfig.json fix: emails 2 months ago

README.md

Front-end election web application using NextJs

aGPLV3 Netlify Status Join the Discord chat at https://discord.gg/rAAQG9S https://img.shields.io/github/stars/mieuxvoter/majority-judgment-web-app?style=for-the-badge

🗳️ This project is going to be the default front-end for our election application.

💻 It is connected to our back-end. The back-end is used for storing the votes and computing the majority judgment ranking. You can use our back-end free of charge, but you can also start your own instance of the back-end using our Dockerfiles.

📨 The front-end is responsable for sending the invitation mails. You can find the mail templates on the functions folder.

🗺️ The front-end stores its own translations. See below how you can edit them easily.

🖌️ Customize your own application

The separation between the front-end and the back-end makes it easy to customize your own application. Just install

⚙️ Install options

Option one: One-click deploy

Deploy to Netlify

Option two: Manual clone

  1. Clone this repo: git clone https://github.com/MieuxVoter/majority-judgment-web-app.git
  2. Navigate to the directory and install dependencies: npm install or make
  3. Start a local server: npm run dev and open http://localhost:3000 with your browser to see the result.
  4. Make your changes
  5. Deploy your project.

We advise for deploying the project to Netlify, because we wrote the mail functions for the framework. Netlify parameters are written in netlify.toml.

If you decide to deploy your project in another way, please fill a pull-request to guide futur users!

📨 Support for mail

To add support for mail sending, you need to connect the application with a mailing service. For now, we only support Mailgun, which offer very competitive prices. You can fill an issue if you require another mailing service.

To connect your application with Mailgun, you need to add the environment variables to your project:

  • MAILGUN_API_KEY,
  • MAILGUN_DOMAIN,
  • MAILGUN_URL,
  • FROM_EMAIL_ADDRESS,
  • REPLY_TO_EMAIL_ADDRESS.

You can add the environment variables on an .env file or directly on Netlify.

🗺️ I18N at heart

You can directly modified the translation files in the folder public/locales.

In case you want to add support for another language, you need as well to add it on net-i18next.config.js and on the LanguageSelector component.