A simple electronic punch clock to track hours spent on projects.
Ruby 3.1
Rails 7.0
Postgres >= 13.7
Node 16.13.1
Yarn >= 1.22.19
$ git clone git@github.com:Codeminer42/Punchclock.git
$ cd Punchclock
$ Install Postgres
$ Install Redis
$ Install Yarn as a global dependency (npm i -g yarn@1.22.19)
$ bin/setup
After installation steps the following admin users will be created in database
- An Admin User
E-mail: admin@codeminer42.com
Password: password
Javascript with ES6 syntax should be compiled by webpack instead of sprockets as of now. The Javascript may work in development mode in modern browsers, but it will break in production mode, be aware.
Run it on development mode using thin
$ foreman start -f Procfile.dev
To enable guard-livereload
, you need to install the LiveReload extension on your browser.
In another terminal, start Guard:
$ bundle exec guard
After that, start the extension on your browser. You'll see a browser connection browser on the terminal.
Freely make your changes and the page will be refreshed after you save it.
Install the docker and docker compose plugin versions:
- Docker
~>v20.10
- Docker compose plugin
~>v2.10
$ cp config/database.yml.example config/database.yml
$ docker compose build
$ docker compose run --rm app bundle install
$ docker compose run --rm app yarn install --frozen-lockfile
$ docker compose run --rm app bundle exec rake db:reset
$ docker compose run --rm app bundle exec rake db:create
Access Rails console:
$ docker compose run --rm app rails c
If you want to run tests:
$ docker compose run --rm app bundle exec rspec
Now run the servers:
$ docker compose up
This app uses RSpec, Factory Girl, Forgery and Faker to fake reality. Please read betterspecs.org.
At first time:
$ bundle exec rake db:migrate
Running tests:
$ bundle exec rake spec
Running with Guard:
$ bundle exec guard
To debug this app, follow the following steps, for more details about debugging with pry, read the official documentation here: https://pry.github.io/ .
At the point of code that you want to debug, add:
binding.remote_pry
Run you application, the app should stop at the point that you added binding.remote_pry
.
In you terminal, run:
$ bundle exec pry-remote
Now you will get the piece of code where you can debug.
At the point of code that you want to debug, add:
binding.pry
Run you application, the app should stop at the point that you added binding.pry
and you will get the piece of code where you can debug.
At the point of code that you want to debug, add:
binding.pry
In you terminal, run:
$ bundle exec rspec <PATH_TO_FILE>
To exit the pry
console, type:
To hard exit:
-> !!!
To soft exit:
-> exit
Copyright 2013-2021, Codeminer 42.
Punchclock is made available under the Affero GPL license version 3, see LICENSE.txt.