Giter VIP home page Giter VIP logo

liberapay.com's Introduction

Liberapay is a recurrent donations platform, forked from Gratipay.

Contributing to the translations

We use Weblate for translations

Contributing to the code

Installation

Firstly, make sure you have the following dependencies installed:

  • python 2.7
  • virtualenv
  • postgresql
  • make

Then run:

make env

Now you'll need to create two postgres databases, here's the simplest way of doing it:

sudo -u postgres createuser --superuser $USER
createdb liberapay
createdb liberapay_tests

Then you can set up the DB:

make schema

Configuration

Environment variables are used for configuration, the default values are in defaults.env and tests/test.env. You can override them in local.env and tests/local.env respectively.

Running

Once you've installed everything and set up the database, you can run the app:

make run

It should now be accessible at http://localhost:8339/.

You can create some fake users to make it look more like the real site:

make data

Modifying the database schema

The DB schema is in sql/schema.sql, but don't modify that file directly, instead put the changes in sql/branch.sql. During deployment that script will be run on the production DB and the changes will be merged into sql/schema.sql.

That process is semi-automated by release.sh.

Testing Build Status

The easiest way to run the test suite is:

make test

That recreates the test DB's schema and runs all the tests. To speed things up you can also use the following commands:

  • make pytest only runs the python tests without recreating the test DB
  • make pytest-re does the same but only runs the tests that failed in the previous run

Help

If there is something you can't seem to figure out by yourself, come ask us in the IRC channel #liberapay on Freenode.

License

CC0 Public Domain Dedication

liberapay.com's People

Contributors

benhc123 avatar bruceadams avatar cakey avatar chadwhitacre avatar changaco avatar clone1018 avatar colindean avatar eswat avatar galuszkak avatar jeromegn avatar joealcorn avatar joeyespo avatar joonas avatar kaguillera avatar matthewfl avatar mushketyk avatar mvdkleijn avatar nicksergeant avatar oakes avatar patcon avatar rohitpaulk avatar rummik avatar seanlinsley avatar sigmavirus24 avatar sim6 avatar simon-weber avatar techtonik avatar twolfson avatar wyze avatar zwn avatar

Watchers

 avatar  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.