Poap Fun is a raffle web app supported by the Proof of Attendance Protocol (POAP)
Add project features
The project is built with docker containers, maintaining different parts of the application independent of eachother. In the following sections each container will be briefely described. If your are looking to run the containers please see the deployment section.
Provides a simple web proxy to distinguish subdomains and route to appropriate servers.
Django application running the API
Contains Node app serving the React frontend.
Contains the database which backs the Django application
Used as a message broker for celery queues
Runs the celery tasks dispatched from the Django application
Runs the beat schedule configured by the Django application
To deploy the project you need both docker and docker compose. Please refer to their respective documentations regarding how to install them.
Also, for testing and production server, make sure node
12.x and yarn
are installed.
# Using Ubuntu to update node
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
# Install yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
The project comes with a convenience makefile that will help you get up and running quickly.
Some Make commands will optionally accept a COMPOSE_ENV
argument to specify which yml to run. For example to build the app we run:
make build COMPOSE_ENV=env_name
where env_name
is one of the following:
override
for local developmenttesting
for testing environmentproduction
for production environment
by default COMPOSE_ENV
is set to override so for local development you can just run make build
This holds true for
make build
make up
make stop
make start
make ps
Now, to deploy the app, simply build it with make build
and run the containers with make up
MIT © POAP