GitXplorerGitXplorer
A

stream_timer

public
6 stars
2 forks
10 issues

Commits

List of commits on branch main.
Unverified
f00ad1dcb6a9f7de93ded74354786f9cf2138467

Update ESLint config to a new version with `@stylistic`

AAlexWayfer committed 2 months ago
Unverified
24bd222cab7587bb3bf5eaddd614994d5f2a9830

Ignore `css-nesting` Stylelint rule for SCSS files

AAlexWayfer committed 2 months ago
Unverified
e4370c30045d6df573b233bb514debd6874237f0

Migrate Stylelint to `@stylistic`

AAlexWayfer committed 2 months ago
Unverified
c730d1656d44891869c5445fdcf8bd04356fd0c9

Add `remark-gfm`

AAlexWayfer committed 2 months ago
Unverified
b2f1dfd122d6f6a6491c9803acaac9969443f5c4

Add `remark-lint-list-item-indent` after Remark update

AAlexWayfer committed 2 months ago
Unverified
f055eb2d3a87ce8e90b6460f0253bc87777f79db

Update all pnpm dependencies (2024-11-09)

ddepfu[bot] committed 2 months ago

README

The README file for this repository.

Stream Timer

Tech stack


Deployment

  1. Install PostgreSQL.
  2. Install rbenv.
  3. Install nodenv.
  4. Set the EDITOR environment variable (nano, vim, mcedit, etc.).
  5. Clone this repository and checkout to directory.
  6. Run exe/setup.sh to install Ruby (with gems), Node.js (with modules) and fill configs.
  7. Run toys db create_user to create database user.
  8. Run toys db create to create database.
  9. Run toys db migrate to run database migrations.

Production (optional)

  • Tune PostgreSQL (via pgtune, for example).
  • Set correct timezone.
  • Install traceroute (or traceroute6) for debug information in network errors reports.
  • Add UNIX-user for project: adduser stream_timer.
  • Install and configure nginx (with symbolic links from config/nginx).
  • Make symbolic link of project directory to /var/www/stream_timer (Debian), /usr/share/nginx/stream_timer (Fedora) or something else, and change the root in nginx config. to something like /home/stream_timer/stream_timer.
  • Install Certbot and generate certificates.
    • Optional openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096.
  • Copy config/systemd.service to the ~/.config/systemd/user/ directory and enable it.
    • Don't forget to enable user services after logout: loginctl enable-linger stream_timer.

Tools

Server management

For management server state use toys server command.

Ruby console

Realized with pry:

toys console

(All models and other classes are available)

PostgreSQL console

toys psql

(For login as postgres user use sudo su - postgres)


Database migrations

Create migration

toys db migrations new migration_name

List migrations

toys db migrations
# toys db migrations list

Run migrations

To latest:

toys db migrate
# toys db migrations run

To specific version (forward or backward):

toys db migrate --target=part_of_target_migration_name_or_version

Rollback migrations

N is a number of migrations to rollback relatively to the latest existing.

toys db migrations rollback N

Update server

Locally

exe/update.sh

It will update default (or specified as first argument) branch, update bundle, stop server, run migrations and start server.

Remotely

toys deploy

It will run exe/update.sh command remotely through ssh connection from deploy.yaml configuration file.


Update external resources

  1. Go to IcoMoon App
  2. Upload project
    1. Click Manage Projects button
    2. Click Import Project button
    3. Upload assets/icomoon/selection.json file
    4. Click Load button
  3. Modify the set of icons
    1. Enter keyword (like car or man) into search field
    2. Select desired icons
  4. Update icons
    1. Click Generate SVG & More button
    2. Check names and other settings
    3. Click Download button
    4. Run toys icomoon extract %path_to_downloaded_archive%
  5. Repeat these steps with the final assets/icomoon/selection.json file, because of there is a difference (in setIdx and iconIdx fields) between original selection.json file with freshly added icons and generated selection.json file with the same icons.