Table of Contents
Open Source Software is not about the code in the first place but the communications and community. People love good documentation and obvious workflows. If your software solves some problem, but nobody can figure out how to use it or, for example, how to create an effective bug report, there's something very bad going on. Did you hear about Readme Driven Development? Check out the awesome article written by GitHub co-founder Tom Preston-Werner. There are many great README or issues templates available on GitHub, however, you have to find them yourself and combine different templates yourself. In addition, if you want extensive docs like CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md or even advanced GitHub features like a pull request template, additional labels, code scanning, and automatic issue/PR closing and locking you have to do much more work. Your time should be focused on creating something amazing. You shouldn't be doing the same tasks over and over like creating your GitHub project template from scratch. Follow the don’t repeat yourself principle. Use a template and go create something amazing! |
-
The easiest way to install Cookiecutter is by running:
pip install --user cookiecutter
Please follow these steps for manual setup:
-
Set-up the Discord bot on the Discord Developer Portal and add it to your server.
-
Download this GitHub repository.
-
Create a virtual environment.
python3 -m venv <myenvname>
-
Activate virtual environment.
cd venv Scripts\Activate.ps1
Or different Activate script, if you are not working from Visual Code.
-
Install packages from requirements.txt
pip install -r /path/to/requirements.txt
- Create a AWS RDS instance to host the PostgreSQL database.
- Make sure the program works, run at least once to check if the discord bot is running.
- In the
.env
file, change theCURRENT_ENVIRONMENT_NAME
variable to usePROD
. - Run Docker command from the terminal to build an image:
docker build -t questions-answer-matcher-container .
- Run AWS CLI command to push the Docker Image:
aws lightsail push-container-image --service-name question-answer-matcher-service --label questions-answer-matcher-container --image questions-answer-matcher-container
- Change the
containers.json
in the app directory to use the latest imagequestion-answer-matcher-service.questions-answer-matcher-prodX.X
- Create an AWS deployment like this:
aws lightsail create-container-service-deployment --service-name question-answer-matcher-service --containers file://containers.json
- Check AWS Web UI for any errors.
in the .env file, replace these environment variables with your own values.
Name | Default value | Description |
---|---|---|
PROJECT_NAME | My Amazing Project | Your project name |
REPO_SLUG | my-amazing-project | Repo slug must match the GitHub repo URL slug part |
GITHUB_USERNAME | dec0dOS | Your GitHub username without @ |
FULL_NAME | Alexey Potapov | Your full name |
OPEN_SOURCE_LICENSE | MIT license | Full OSS license name |
This project is licensed under the MIT license. Feel free to edit and distribute this template as you like.
See LICENSE for more information.