Git Product home page Git Product logo

web's Introduction

Geek.Zone Web App

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.

Getting Started

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.

Prerequisites

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

Suggestions

Clearly, you can and should use which ever development tools you prefer. If you don't have a preference, we suggest trying,

Python

SQL

Diagrams

Also, do join us on our Discord!

Installing

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.

  1. Linux: sudo apt-get update && sudo apt-get upgrade. Windows: install WSL.
  2. Get the latest version of Python3
  3. Pip3 should come with python. Double check.
  4. In a convenient, empty directory, run git clone [email protected]:GeekZoneHQ/web.git
  5. Create a virtual environment in that directory
  6. Activate that virtual environment
  7. Run pip3 install -r requirements.txt
  8. Check if you have already got PostgreSQL. Install it if not.

Local Development

Running the Tests

We have not got any tests for you right now. This readme will be kept up to date so check back when it does.

Changing the CircleCI Build

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.

Running Kubernetes files locally

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 -

Deployment

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.

Contributing

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.

License

As always, anything contributed to Geek.Zone projects is done so under GPLv3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.