This project is here to show a solution that can be used by EPITECH when their git system is down.
The purpose of this project is to allow everyone to contribute to make things work better in EPITECH.
This program will run for ever in a docker container. This will execute 2 functions every hour. The first function will be the one who gets all the Usernames of the students from the email and the second one will be the one who accept all the new invitations to contribute on projects.
The mails that the students have to send has to have the following things in the body:
Username: <The student username>
Email: <The student email>
First-of-all this projet use Docker and Docker Compose to run, so docker and docker-compose has to be installed in your machine.
Then on the docker-compose.yml
file, we will find some environment values. They're needed by the program and has to be filled with your parameters.
- GITHUB_TOKEN: This token is generated by Github here. This will allow the program to accept invitations from the repositories. When you create the token you have to select all the cases of the repository part and all the user part
- EMAIL_USERNAMES: This is the email where all the emails from the students, with the usernames and emails will be sent
- EMAIL_USERNAMES_PASSWORD: The password of the email account mentioned before
- EMAIL_USERNAMES_SMTP_PORT: The port of the smtp server where the email account is hosted
- EMAIL_USERNAMES_SMTP_SERVER: The url to the smtp server where the email account is hosted
- SUBJECT_EMAIL_USERNAMES: This is the subject that all the students has to enter. The program will only open the mails who have this subject
- DB_USERNAME: The username of the connected database
- DB_PASSWORD: The password of the connected database
To execute the program, you just need to clone the repository and at the root of it run: docker-compose up
To contribute to the projet, you only have to fork it and when the modification is ready, you make a pull request and I will review it and merge if it's all working fine.
You can also create issues, and comment for new features !
For more information you can contact me at: tomas.forne-cappeau@epitech.eu