Files
bit/README.md
T
Juan Rodriguez 73b674b613 refactor: Username and slug unique indexes, before actions for set link and user
confirm_password_validation around action, unnecessary helpers removed, rubocop-rails suggestions applied

Add username index and unique slug index migrations
2021-06-15 15:24:34 -05:00

3.1 KiB

URL shortener

How to run

Development

  • Run migrations
docker-compose up -d db
docker-compose run --rm app bundle exec rails db:migrate
  • Run
docker-compose up

Testing

docker-compose run --rm app bundle exec rails test

Rubocop

docker-compose run --rm app bundle exec rubocop 

Results

  • Testing
Finished in 2.211344s, 9.9487 runs/s, 10.4009 assertions/s.
22 runs, 23 assertions, 0 failures, 0 errors, 0 skips
Coverage report generated for Minitest to /usr/src/app/coverage. 81 / 81 LOC (100.0%) covered.

COVERAGE: 100.00% -- 81/81 lines in 8 files
BRANCH COVERAGE: 100.00% -- 20/20 branches in 8 branches

+----------+-------------------------------------------+-------+--------+---------+-----------------+----------+-----------------+------------------+
| coverage | file                                      | lines | missed | missing | branch coverage | branches | branches missed | branches missing |
+----------+-------------------------------------------+-------+--------+---------+-----------------+----------+-----------------+------------------+
| 100.00%  | app/controllers/application_controller.rb | 3     | 0      |         | 100.00%         | 0        | 0               |                  |
| 100.00%  | app/controllers/links_controller.rb       | 23    | 0      |         | 100.00%         | 8        | 0               |                  |
| 100.00%  | app/controllers/sessions_controller.rb    | 17    | 0      |         | 100.00%         | 4        | 0               |                  |
| 100.00%  | app/controllers/users_controller.rb       | 16    | 0      |         | 100.00%         | 4        | 0               |                  |
| 100.00%  | app/helpers/sessions_helper.rb            | 3     | 0      |         | 100.00%         | 0        | 0               |                  |
| 100.00%  | app/models/application_record.rb          | 2     | 0      |         | 100.00%         | 0        | 0               |                  |
| 100.00%  | app/models/link.rb                        | 13    | 0      |         | 100.00%         | 4        | 0               |                  |
| 100.00%  | app/models/user.rb                        | 4     | 0      |         | 100.00%         | 0        | 0               |                  |
+----------+-------------------------------------------+-------+--------+---------+-----------------+----------+-----------------+------------------+
  • Rubocop
Inspecting 43 files
...........................................

43 files inspected, no offenses detected

TODO

  • Create link model (make sure to create a index for the slug and click counter)
  • Generate unique slug
  • Link unit tests
  • Stimulus setup
  • Link controller (handle redirection)
  • Main page with input box
  • Create user model
  • User unit tests
  • Add userId key to link model
  • Login and logout (sessions)
  • User links view
  • Modals layout
  • Setup Redis for production cache_store
  • Deployment CI