diff options
author | 2020-11-27 17:50:12 +0000 | |
---|---|---|
committer | 2020-11-27 17:50:12 +0000 | |
commit | dd26d76f40aab6cc8346f79d653bd443f8190cc6 (patch) | |
tree | c4db175b615cc03642afff0a502c321117651e16 | |
parent | Create CODEOWNERS (diff) | |
parent | Specify URL and port for running in the host section (diff) |
Merge pull request #2 from python-discord/ks123/readme
-rw-r--r-- | README.md | 37 |
1 files changed, 35 insertions, 2 deletions
@@ -1,2 +1,35 @@ -# forms-backend -Backend for Python Discord forms +# Python Discord Forms API +API for [Python Discord Forms](https://forms.pythondiscord.com) that handles Discord OAuth2 integration and form submission. + +## Setup +### Prerequisites +To start working on forms-backend, you'll need few things: +1. Discord OAuth2 Application (from the [Discord Developers Portal](https://discord.com/developers/applications)) +2. Poetry +3. Docker and docker-compose (optional) +4. Running MongoDB instance (when not using Docker) + +### Running with Docker +The easiest way to run forms-backend is using Docker (and docker-compose). + +#### Environment variables +Create a `.env` file in the root with the following values inside it (each variable should be a line like `VARIABLE=value`): +- `OAUTH2_CLIENT_ID`: Client ID of Discord OAuth2 Application (see prerequisites). +- `OAUTH2_CLIENT_SECRET`: Client Secret of Discord OAuth2 Application (see prerequisites). +- `ALLOWED_URL`: Allowed origin for CORS middleware. + +#### Running +To start using the application, simply run `docker-compose up` in the repository root. You'll be able to access the application by visiting http://localhost:8000/ + +### Running on the host +You can also run forms-backend manually on the host. + +#### Environment variables +Create a `.env` file with the same contents as the Docker section above and the following new variables: +- `DATABASE_URL`: MongoDB instance URI, in format `mongodb://(username):(password)@(database IP or domain):(port)`. +- `MONGO_DB`: MongoDB database name, defaults to `pydis_forms`. + +#### Running +Simply run: `$ uvicorn --reload --host 0.0.0.0 --debug backend:app`. + +Once this is running the API is accessible via http://localhost:8000/ and will reload on any changes to code. |