2024-11-11 15:43:20 +01:00
2024-11-11 15:43:20 +01:00
2023-12-03 23:27:10 +01:00
2024-11-11 15:43:20 +01:00
2024-04-07 00:42:15 +02:00
2023-03-05 19:23:29 +01:00
2024-01-15 01:04:59 +01:00
2023-03-05 19:23:29 +01:00
2024-02-04 19:56:21 +01:00
2023-03-05 19:23:29 +01:00
2024-01-23 00:09:19 +01:00
2023-03-04 23:08:51 +01:00
2023-03-05 19:23:29 +01:00
2024-11-09 15:58:01 +01:00

README

Quantified self

Software requirements

  • Server side:
    • Ruby version: developed on Ruby 3.x
    • database with recursive Common Table Expressions (CTE) support, e.g. MySQL >= 8.0, MariaDB >= 10.2.2
    • for testing: browser as specified in Client side requirements
  • Client side:

Installation

git clone https://gitea.michalczyk.pro/fixin.me/fixin.me.git
bundle config set --local path '.gem'
bundle install

Configuration

cp -a config/application.rb.dist config/application.rb

Modify configuration settings below SETUP comment appropriately.

Database

Grant database user and privileges:

> mysql -p
mysql> create user fixinme@localhost identified by '<some password>';
mysql> grant all privileges on fixinme.* to fixinme@localhost;
mysql> flush privileges;

Copy config template and update database configuration:

cp -a config/database.yml.dist config/database.yml

Run database creation and migration tasks:

RAILS_ENV="production" bundle exec rake db:create db:migrate db:seed

Running

Standalone Rails server + Apache proxy

Copy Puma config template:

cp -a config/puma.rb.dist config/puma.rb

and specify server IP/port, either with port or bind, e.g.:

bind 'tcp://0.0.0.0:3000'

Run server

bundle exec rails s -e production

Apache mod_passenger

TODO: add sample configuration

Contributing

Database

Grant database user privileges for development and test environments, possibly with different Ruby versions:

> mysql -p
mysql> create user `fixinme-dev`@localhost identified by '<some password>';
mysql> grant all privileges on `fixinme-%`.* to `fixinme-dev`@localhost;
mysql> flush privileges;

Development environment

Starting application server in development environment:

bundle exec rails s -e development

For running rake tasks, prepend command with environment:

RAILS_ENV="development" bundle exec rake ...

Running tests

Tests need to be run from within toplevel application directory:

  • all system tests:

      bundle exec rails test:system
    
  • system test(s) with seed/test name specified:

      bundle exec rails test:system --seed 64690 --name test_add_unit
    
  • all tests from one file, with optional seed:

      bundle exec rails test test/system/users_test.rb --seed 1234
    

Icons

Pictogrammers Material Design Icons: https://pictogrammers.com/library/mdi/

Description
Quantified self
Readme 566 KiB
Languages
Ruby 62.5%
HTML 25.6%
CSS 9.4%
JavaScript 2.5%