GithubHelp home page GithubHelp logo

dorsax / betterlyze Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 338 KB

Fetches data from the betterplace.org API and will render charts which can then be used e.g. on a Website to display informations about a project.

License: MIT License

Python 10.16% HTML 2.43% CSS 87.40%

betterlyze's Introduction

betterlyze

Fetches data from the betterplace.org API and will render charts which can then be used e.g. on a Website to display informations about a project.

installation

This project requires python 3.9 or later!

Create a python virtual environment and activate it:

python -m venv 'venv'
source venv/bin/activate 

All requirements are in the standard requirements.txt. Installing them inside your virtual environment is easy:

python -m pip install -r requirements.txt

For database support like mysql (which is shipped with this project), you have to install the corresponding packages to your OS before installing the needed packages for django to successfully connect to your database.

cp betterlyze/betterlyze/template-settings.py betterlyze/betterlyze/settings.py

Edit the following settings:

  • DEBUG = FALSE
  • ALLOWED_HOSTS (insert the FQDN where the app should be published)
  • DATABASES
  • TIME_ZONE
  • LANGUAGE_CODE

Then apply migrations:

python betterlyze/manage.py migrate

check, if the server would run:

python betterlyze/manage.py runserver

cron

In order to achieve regular fetching of new donations, add the following cronjob to your crontab. Please adjust the placeholders as needed:

*/5 * * * * username /path/to/project/venv/bin/python /path/to/project/betterlyze/manage.py runcrons 

betterlyze's People

Contributors

dorsax avatar

Stargazers

Tobin Schumacher avatar

Watchers

Tobin Schumacher avatar  avatar

betterlyze's Issues

Rethink urls

The current urls are nasty. Rethink:

  • URL for comparison sheet
  • URL for events

Add style to all

Currently the web interfaces look terrible. Choose a fine template with CSS and co already in place. The admin area can be ignored right now.

Good looking site for Events

Ability to create, update or delete an event without access to admin. Must include a way to start a crawl, see when it was last fetched and some key infos about all donations about that event.

Add cron support

Adding a means of scheduled fetching in version 1 was done by adding a cron job for the crawler.py. As v2 is written in the Django framework, a better scheduling environment is needed. Trying out celery seems fitting the purpose although a bit overpowered.

Change front end time display

Currently displaying the times on /analyse/ is a bit wacky. It always shows in UTC instead of the current browser's timezone, which makes it hard to interprete for humans.

  • make all elemnts aware of the browser's timezone
  • make sure that performance won't be an issue

Production readiness

Ensure that by the end of October the app is fully production ready, meaning:

  • Full WSGI support
  • Full instructions on how to set up the app, including generating a config or writing a setup script
  • Deamonization of Schedulers

implement social login

The following things are desired to be implemented:

  • Add Events
  • Delete Events
  • Edit Events
  • Crawl Event
  • Anonymize Event
  • User Profile
  • Login via Discord or Twitch

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.