This application is currently intended as the minimum viable product for Geek.Zone members and n00bs to be able to manage their Geek.Zone membership. We will build it from there, but that's our target right now! We currently use a third party to do this, and while they are not a bad service per se, they do charge us for their services and do not do all the things we need them to do. Building it ourselves will not only mean that we get the system that we need, but also that those involved will learn new, transferrable skills and have some fun doing so.
Take a look at the original spec doc.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
- Python==3.8.3 (Not compatible with Windows XP (why are you still using Windows XP?))
- Pip==3
- Django==3.0.7
- PostgreSQL==12.3
Clearly, you can and should use which ever development tools you prefer. If you don't have a preference, we suggest trying,
Also, do join us on our Discord!
Here's what to do to get this project up and running so that you can turn that sweet, sweet coffee in to sweet, sweet code.
- Linux:
sudo apt-get update && sudo apt-get upgrade
. Windows: install WSL. - Get the latest version of Python3
- Pip3 should come with python. Double check.
- In a convenient, empty directory, run
git clone [email protected]:GeekZoneHQ/web.git
- Create a virtual environment in that directory
- Activate that virtual environment
- Run
pip3 install -r requirements.txt
- Check if you have already got PostgreSQL. Install it if not.
We have not got any tests for you right now. This readme will be kept up to date so check back when it does.
I have found the circleci local cli tool to be very useful when making changes to the circle build locally. The errors can be a bit cryptic, but it's easier than debugging basic syntax issues from within the circleci console.
The kubernetes files are not optimised for being run locally (yet), but you should be able to get them working with minimal local changes.
We use envsubst in the build to replace the image tag numbers in the kubernetes yaml files. You can run the same command locally if you wish.
CIRCLE_WORKFLOW_ID=1 envsubst < k8s/deployment.yml | kubectl apply -f -
The code is currently deployed onto a test Kubernetes cluster hosted using AWS Elastic Kubernetes Service (EKS). Our CI/CD service circleci will deploy any code changes to test.geek.zone on a merge to master.
The deployment files can be found under the k8s
folder.
No special rules, just pull request before merging, you know the drill ;)
If you wish to add your name and contact details to humans.txt then you are encouraged to do so. Not obligatory.
As always, anything contributed to Geek.Zone projects is done so under GPLv3.