Skip to content

tolstoyfafa/assos_suite

Repository files navigation

Contributor Covenant License: MIT

GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status

GitHub release (latest SemVer) GitHub release (latest SemVer)

GitHub issues GitHub issues-closed GitHub forks
GitHub stars GitHub watchers

Twitter
Website shields.io

AssoSuite

AssoSuite is a complete free, open source solution to manage assosiations.

Main features:

  • Manage personal / adherents
  • Reports / Statistics
  • Manage fundraising
  • Automatized mailling service
  • Manage events

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Installing

What things you need to install the software and how to install them

  • clone the project
git clone git@github.com:tolstoyfafa/assos_suite.git

The project provide two ways to install the project for development purpose, using docker and without docker.

Without Docker

You nee to install this technolgies

  • node v12.18.3 see
  • yarn v1.2.5 see
  • Openjdk 11 see
  • maven v3.6 see
  • mongo 4.2 see

Assosuite contains 2 components backend and frontend

To get a development env running you should follow each component documentation.

Using Docker

If you want to use Docker to get a developpement environment:

  • copy .env-dev.sample and rename it to .env (change it depending on your environement)

  • in assosuite root directory run

docker-compose up -d

You'll have 4 running containers: - backend - frontend - mongo - mail

You can find more information about our mail server configuration here

you should have a basic knowledge about docker and docker compose to better utilisation

Deployment

Requirements:

NOTE: You need a token to login in our github registry, it's a workaround, the images will be available in docker hub as soon as possible please contact us to get a token by sending a mail to AssoSuite@gmail.com

  • A VM with docker and docker-compose installed
  • A Domain Name with 2 address records (A) see in order to have 2 subdomains that will be used by the frontend and backend.

Example:
backend.organisation.com
frontend.organisation.com

Instructions:

  • copy .env-prod-sample, docker-compose-prod.yml config-sample to you deployment environment
  • rename .env-prof-sample to .env and docker-compose-prod.yml to docker-compose.yml and config-sample to config or use this commands:
curl -o .env https://raw.githubusercontent.com/tolstoyfafa/assos_suite/master/.env-prod-sample
curl -o docker-compose.yml https://raw.githubusercontent.com/tolstoyfafa/assos_suite/master/docker-compose-prod.yml
mkdir config && cd config
curl -o dynamic.yaml https://raw.githubusercontent.com/tolstoyfafa/assos_suite/master/config-sample/dynamic.yaml
curl -o nginx.conf https://raw.githubusercontent.com/tolstoyfafa/assos_suite/master/config-sample/nginx.conf 
  • the config directory contains nginx server configuration that you can customize as you wish, and dynamic.yaml file used to redirect http traefik to https

  • you can follow this documentation to use Gmail SMTP and get the required credentials https://support.cloudways.com/configure-gmail-smtp/

WORKAROUND: for now we are using gmail smtp server, you'll be able to use another provider in the next release version

  • set your local settings in the .env (read the comments on the env-prod-sample file)

NB: To enable https we are using Let's encrypt see documentation

  • Then at last just execute this command to get a running production environment:
docker-compose up -d 

Contributing

Please read CONTRIBUTING.md

Versioning

Git

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgement

A special thanks to Hiren PATEL and Jackques ATACAN for they helps on the project