WeAllCode/website

Website running user and event management.

django
django-cms
docker
python
weallcode

Custom-build Django application for We All Code

We, the community and staff, have been building a custom Django application to handle out many parts of our organization.

Initial Setup

  1. Fork and clone this repository locally.
  2. Download and install OrbStack for Mac/Linux or Docker for Windows.
  3. Copy the .env.sample file to .env.

sh cp .env.sample .env

  1. Run the following to get a random Django secret key.

sh python -c "import secrets; print(secrets.token_urlsafe())"

  1. Enter the output inside the .env file for SECRET_KEY. Be sure to include the double quotes (") around the key. It'll look like the following SECRET_KEY="<unique-key-here>".
  2. Navigate into the project directory via terminal and run docker compose up --build
  3. Load up your browser and go to http://127.0.0.1:8000.
  4. When you are done, you can stop the project via ctrl+c

Debugging Accounts

Admin

username: admin@sink.sendgrid.net
password: admin

Mentor

username: mentor@sink.sendgrid.net
password: mentor

Guardian

username: guardian@sink.sendgrid.net
password: guardian

Continual work

After the initial project setup, you will only need to run docker compose up --build.

Useful Information

Set up main repository as upstream

To setup the main respository as upstream, you can add a new remote called upstream.

git remote add upstream https://github.com/WeAllCode/website.git

Update local code from upstream

To grab the latest code from the main repo (named upstream), run the following.

git fetch upstream --prune
git checkout main
git merge upstream/main main

Creating a new branch

Create a new branch based off of upstream's main branch.

git fetch upstream --prune
git checkout -b feature/a-good-name upstream/main
git push -u origin feature/a-good-name

Pull Request

Pull requests are always welcome. Make sure your pull request does one task only. That is, if it's fixing a bug, the pull request fixes only that bug. If you're adding a feature, make sure the pull request adds that one feature, not multiple at once.

Follow the "Creating a new branch" step above. Be sure to always push to your origin remote, not upstream.

Running commands on the docker container

  • Running a command on a Docker app in a new container.
docker compose run --rm app <command>

Examples:

docker compose run --rm app /bin/bash
docker compose run --rm app poetry lock
docker compose run --rm app python manage.py makemigrations
docker compose run --rm app python manage.py migrate
  • Cleaning up the docker containers:
docker kill $(docker ps -q); docker compose rm -f; docker volume rm $(docker volume ls -qf dangling=true);
  • Rebuild docker containers after major changes:
docker compose build
Stars
29
100.00% more than last month
Forks
53
Open Issues
55