Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Prototype to combine pay to win mechanisms with e-mail queues

License

Notifications You must be signed in to change notification settings

astrutz/masterthesis

Repository files navigation

CodeQL Ruby on Rails CI Release

Pay2Mail

pay2mail.org

Pay2Mail is a system developed to prioritize emails with payments and generating an pre-sorted inbox for recipients.

Prerequisites

  • ruby = 3.0.2
  • rails >= 7.0.3.1
  • sqlite ~> 1.4
  • node = 18.8.0
  • yarn = 1.22.19

Install

Clone the repository

git clone git@github.com:astrutz/masterthesis.git
cd project

Check your Ruby version

ruby -v

The output should start with something like ruby 3.0.2

If not, install the right ruby version using rbenv (it could take a while):

rbenv install 3.0.2

Initialize the database

rails db:create db:migrate db:seed

Serve

rails s

Testing

Unit tests for models are implemented under /test/models and integration tests are implemented under test/controllers/. To run these tests:

rails t

CI/CD

GitHub Actions

Two workflows are triggered every time there is a push or pull request on master. CodeQL runs an analysis checking for potential security or performance problems. Ruby on Rails CI runs the test suite and uses rubocop to detect code quality problems.

Deployment to DigitalOcean

This project is hosted via DigitalOcean App Platform. Every push on master triggers a new deployment, which is deployed to pay2mail.org. Furthermore every push on prototype triggers a new deployment, which is deployed to proto.pay2mail.org.