/mentorship-backend

Mentorship System is an application that matches women in tech to mentor each other, on career development, through 1:1 relations during a certain period of time. This is the backend of this system.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Mentorship System (Backend)

Branch Travis Codacy Server
master Build Status Codacy Badge Production
develop Build Status Codacy Badge Development

Mentorship System is an application that allows women in tech to mentor each other, on career development topics, through 1:1 relations for a certain period. This is the Backend REST API for the Mentorship System.

Setup and run

To setup the project locally read these wiki pages and follow the instructions:

Run app

The project runs on Python 3.

  1. Create a virtual environment: virtualenv venv --python=python3

  2. Activate the virtual environment: source ./venv/bin/activate

  3. Install all the dependencies in requirements.txt file: pip install -r requirements.txt

  4. Make sure you exported the following environment variables:

export FLASK_ENVIRONMENT_CONFIG=<dev-or-test-or-prod>
export SECRET_KEY=<your-secret-key>
export SECURITY_PASSWORD_SALT=<your-security-password-salt>
export MAIL_DEFAULT_SENDER=<mail-default-sender>
export MAIL_SERVER=<mail-server>
export APP_MAIL_USERNAME=<app-mail-username>
export APP_MAIL_PASSWORD=<app-mail-password>
  1. Run the app: python run.py

  2. When you are done using the app, deactivate the virtual environment: deactivate

Run tests

To run the unitests run the following command in the terminal (while the virtual environment is activated):

python -m unittest discover tests

Contributing

Please read our Contributing guidelines, Code of Conduct and Reporting Guidelines

Please follow our Commit Message Style Guide while sending PRs.

Branches

The repository has the following permanent branches:

  • master This contains the code which has been released.

  • develop This contains the latest code. All the contributing PRs must be sent to this branch. When we want to release the next version of the app, this branch is merged into the master branch.

Contact

You can reach maintainers team @mentorship-team on Systers Open Source Slack or @systers/maintainers-mentorship-backend on GitHub.

We use #mentorship-system channel on Slack to discuss this project. If you're interested in contributing to this project, join us there!