Giter Club home page Giter Club logo

poap-fun's Introduction

๐ŸŽ‰ POAP.fun ๐ŸŽ‰

Intro

Poap Fun is a raffle web app supported by the Proof of Attendance Protocol (POAP)

Features

Add project features

Container Architecture

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.

Nginx

Provides a simple web proxy to distinguish subdomains and route to appropriate servers.

Web

Django application running the API

Node

Contains Node app serving the React frontend.

postgres

Contains the database which backs the Django application

redis

Used as a message broker for celery queues

celeryworker

Runs the celery tasks dispatched from the Django application

celerybeat

Runs the beat schedule configured by the Django application

Deployment

Prerequisites

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

Deploying the app

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 development
  • testing for testing environment
  • production 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

Development

Installation

Developing

License

MIT ยฉ POAP

poap-fun's People

Contributors

actuallymentor avatar alavarello avatar colfax23 avatar frandelgado avatar invisiblesymbol avatar lndgalante avatar nacho9900 avatar nahu90 avatar nicolasdeleon avatar pablojp avatar ragonzal avatar rlajous avatar

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.