Contribution Guide- Server
Chamber of Secrets is an open-source project (licensed under MIT Open Source Licensing agreement), aimed at Data Security and Ethical Data. In order to make the system more robust and secure, we feel that the support and contributions from the community is very important.
This is guide that will help you get started with contributions to the Chamber of Secrets server, written in Python using the Django RESTful Framework. The place where all the magic happens!
#
Setting Up Local Environment#
Instructions for CoS Server:Assuming that you already have Python already installed and the project cloned from GitHub, run the following set of commands to set up the development environment locally.
- Install pipenv:
- Installing dependencies:
- Set up your environment variables:
Go to backend/settings.py and replace the default value of
APP_SECRET_KEY
to your app secret key. This will be used to hash the passwords at the time of authentication.Create a new app on Dropbox Developers App Console. Next, go to authenticate/dropbox_auth.py and replace
DROPBOX_APP_KEY
andDROPBOX_APP_SECRET
with your app key and app secret respectively.Create a new project on Google Cloud Console. Go to APIs and Services and enable the Google Drive API for your project. Next, in the code go to authenticate/google_auth.py and replace
GOOGLE_CLIENT_CONFIG
with the google client configurations of your Google Cloud Project. Make sure at the time of oauth config generation, select application type as desktop.
- Running the database migrations:
- Creating superuser for Django Admin:
- Running the server locally.
This will get all the necessary dependencies installed in your Python virtual environment and get things up and running.
#
Instructions for Documentation WebsiteThe documentation website (yes, this exact same one you are on right now) was built using Docusaurus.
Click here for a detailed official documentation on setting the local development environment for the documentation website.
#
Contributing to Chamber of Secrets:In order to contribute to the project, make sure you follow the below mentioned guidelines:
To suggest a bug fix/improvement/feature etc., first create an issue. Discuss the issue with the CoS project managers and get the issue assigned to yourself.
Once assigned, you can start working on the project. Fork and clone the repository and follow the local development guide to set up your local development environment.
Once the issue is fixed, create a PR to the upstream repository's staging branch. Wait and hear back from the project managers on their response. Once your build is tested and approved, the PR will get merged. If any changes are required, you can continue coordinating with the project managers and work on the requirements.
#
Resources:Django REST Framework Documentation: Click here!
Cryptography Python Module: Click here!
Docusaurus Documentation: Click here!