Code Monkey home page Code Monkey logo

shivammaindola / mentorship-backend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anitab-org/mentorship-backend

1.0 1.0 0.0 366 KB

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.

Home Page: http://systers-mentorship-dev.eu-central-1.elasticbeanstalk.com/

License: GNU General Public License v3.0

Python 99.27% Shell 0.38% HTML 0.30% Dockerfile 0.04%

mentorship-backend's Introduction

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 create .env using .env.template and update the values of corresponding environment variables or make sure you exported the following environment variables:

export FLASK_ENVIRONMENT_CONFIG=<local-or-dev-or-test-or-prod-or-stag>
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>

If you're testing any environment other than "local", then you have to also set these other variables:

export DB_TYPE=<database_type>
export DB_USERNAME=<database_username>
export DB_PASSWORD=<database_password>
export DB_ENDPOINT=<database_endpoint>
export DB_NAME=<database_name>
  1. Run the app: python run.py

  2. Navigate to http://localhost:5000 in your browser

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

Run with docker

  1. Make sure you exported the following environment variables to '.env' file

  2. Build docker image

docker build -t mentorship-backend:latest .
  1. Deploy Docker container ports must be mapped to the host machine port using '--publish' so they're visible.
docker run --env "FLASK_APP=run.py" --publish 5000:5000 mentorship-backend:latest

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!

mentorship-backend's People

Contributors

aaeliu avatar agarwalrounak avatar annabauza avatar asawesome07 avatar bartekpacia avatar bboomboom avatar bhawesh96 avatar cleverfool77 avatar daksha-aeer avatar dilu9218 avatar flacode avatar hardik0403 avatar ilyamaier avatar isabelcosta avatar iulianav avatar jaerjaerbin avatar m-murad avatar meenakshi-dhanani avatar mtreacy002 avatar nikkiguo avatar olifog avatar ooooda avatar pratibhashrivastav avatar preeti98 avatar samiratu avatar sammy1997 avatar sanjana11147 avatar sarnava1 avatar sumit-badsara avatar xu-zijun avatar

Stargazers

 avatar

Watchers

 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.