Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
758cec9
create a rails budget app project
cherelemma Jul 27, 2023
3d135c5
add github workflow, Rubocop and Stylelint
cherelemma Jul 27, 2023
e066712
install styleint package
cherelemma Jul 27, 2023
482de53
install styleint package
cherelemma Jul 27, 2023
bc9f363
Merge branch 'setup-project' of github.com:Microverse-Fullstack-Progr…
cherelemma Jul 27, 2023
a30d398
remove /nodemodules
cherelemma Jul 27, 2023
5ac0f09
Merge pull request #1 from Microverse-Fullstack-Program/setup-project
cherelemma Jul 27, 2023
7c64a5c
install pg driver bundle
cherelemma Jul 27, 2023
eaace63
update database.yml configuration with db credentials
cherelemma Jul 27, 2023
368b079
generate Users, Categories and Entities migration
cherelemma Jul 27, 2023
b7966ed
create Categories-Entities migration
cherelemma Jul 27, 2023
9edc15a
add authors refernces to categories and entities
cherelemma Jul 27, 2023
75d1e1f
create database schema from active record migrations
cherelemma Jul 27, 2023
67a5ad6
create user model and validate
cherelemma Jul 27, 2023
abe0217
create category model and validate
cherelemma Jul 27, 2023
c38bcde
create entiry model and validate
cherelemma Jul 27, 2023
72a85cd
create category-entity model and validate
cherelemma Jul 27, 2023
1d482bc
create test fixtures for all models
cherelemma Jul 27, 2023
03e81ea
write unit-test for all models
cherelemma Jul 27, 2023
c2f7da2
fix rubocop linter errors
cherelemma Jul 27, 2023
1e2e938
add comma between association and foreign key
cherelemma Jul 27, 2023
6300e43
fix another linter errors
cherelemma Jul 27, 2023
a47e523
fix another linter errors
cherelemma Jul 27, 2023
cded919
Merge branch 'create-model' of github.com:Microverse-Fullstack-Progra…
cherelemma Jul 27, 2023
b0e41df
Merge pull request #2 from Microverse-Fullstack-Program/create-model
cherelemma Jul 27, 2023
af24e1a
add and install devise bundle
cherelemma Jul 27, 2023
6b67cb2
install and configure devise
cherelemma Jul 27, 2023
579a492
generate devise views
cherelemma Jul 27, 2023
94c43c5
generate devise model for user
cherelemma Jul 27, 2023
24054fb
create homepage controller and add view
cherelemma Jul 27, 2023
e3fe2d5
update application controller
cherelemma Jul 27, 2023
f95e996
debug and fix rubocop linters
cherelemma Jul 27, 2023
5ac470f
debug and fix devise schema issue
cherelemma Jul 27, 2023
a9b40f0
install and generate Ability model
cherelemma Jul 27, 2023
ed969fc
debug and correct rubocop linter errors
cherelemma Jul 27, 2023
97402b6
Merge pull request #3 from Microverse-Fullstack-Program/authenticatio…
cherelemma Jul 27, 2023
11f38a8
create controllers
cherelemma Jul 29, 2023
9813cec
add routes for categories and entities
cherelemma Jul 29, 2023
28040e7
update routes for home page
cherelemma Jul 29, 2023
1db9066
remove unneccessary methods from application-controller
cherelemma Jul 29, 2023
4dcba67
create category-controller and add methods
cherelemma Jul 29, 2023
0ef6b06
create entities-controller and add respective methods
cherelemma Jul 29, 2023
6c702a5
update DB schema and models
cherelemma Jul 29, 2023
7f11df0
fix rubocop linter errors
cherelemma Jul 29, 2023
1c66e46
Merge pull request #4 from Microverse-Fullstack-Program/add-controlle…
cherelemma Jul 29, 2023
d50e696
add link to awesome font
cherelemma Jul 29, 2023
0eb636d
create styles and format pages
cherelemma Jul 29, 2023
c4b6e05
create views and add style
cherelemma Jul 29, 2023
d564ed5
add styles to devise views
cherelemma Jul 29, 2023
46bce82
Merge pull request #5 from Microverse-Fullstack-Program/add-styles
cherelemma Jul 29, 2023
9dc0b44
update worker
cherelemma Jul 29, 2023
8582873
create render-build.sh
cherelemma Jul 29, 2023
30f8380
create automatic deployment
cherelemma Jul 29, 2023
8076b5b
Merge pull request #6 from Microverse-Fullstack-Program/deploy
cherelemma Jul 29, 2023
9186279
Update render.yaml
cherelemma Jul 29, 2023
8d699a0
Merge pull request #7 from Microverse-Fullstack-Program/cherelemma-pa…
cherelemma Jul 29, 2023
74c23d8
Update render.yaml
cherelemma Jul 29, 2023
1b6f3db
Update render.yaml
cherelemma Jul 29, 2023
c29703f
add x86_64-linux platform
cherelemma Jul 29, 2023
12fe013
Merge branch 'dev' of github.com:Microverse-Fullstack-Program/rails-b…
cherelemma Jul 29, 2023
d30c70a
create a README for the project
cherelemma Jul 29, 2023
6f16102
Update README.md
cherelemma Jul 29, 2023
030fa5f
rename MIT to LICENSE and fix broken license links
cherelemma Jul 29, 2023
46f445c
avoid repition in model validation
cherelemma Jul 29, 2023
608cf5e
fix broken license link
cherelemma Jul 29, 2023
1453c53
Update LICENSE.md
cherelemma Jul 29, 2023
dcf4d75
Update LICENSe and replace APP TYPE with BUDGET TRACKER APP
cherelemma Jul 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# See https://git-scm.com/docs/gitattributes for more about git attribute files.

# Mark the database schema as having been generated.
db/schema.rb linguist-generated

# Mark any vendored files as having been vendored.
vendor/* linguist-vendored
44 changes: 44 additions & 0 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Linters

on: pull_request

env:
FORCE_COLOR: 1

jobs:
rubocop:
name: Rubocop
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-ruby@v1
with:
ruby-version: 3.1.x
- name: Setup Rubocop
run: |
gem install --no-document rubocop -v '>= 1.0, < 2.0' # https://docs.rubocop.org/en/stable/installation/
[ -f .rubocop.yml ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/ror/.rubocop.yml
- name: Rubocop Report
run: rubocop --color
stylelint:
name: Stylelint
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "18.x"
- name: Setup Stylelint
run: |
npm install --save-dev stylelint@13.x stylelint-scss@3.x stylelint-config-standard@21.x stylelint-csstree-validator@1.x
[ -f .stylelintrc.json ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/ror/.stylelintrc.json
- name: Stylelint Report
run: npx stylelint "**/*.{css,scss}"
nodechecker:
name: node_modules checker
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Check node_modules existence
run: |
if [ -d "node_modules/" ]; then echo -e "\e[1;31mThe node_modules/ folder was pushed to the repo. Please remove it from the GitHub repository and try again."; echo -e "\e[1;32mYou can set up a .gitignore file with this folder included on it to prevent this from happening in the future." && exit 1; fi
38 changes: 38 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'

# Ignore bundler config.
/.bundle

# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-*

# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/
!/tmp/pids/.keep

# Ignore uploaded files in development.
/storage/*
!/storage/.keep
/tmp/storage/*
!/tmp/storage/
!/tmp/storage/.keep

/public/assets

# Ignore master key for decrypting credentials and more.
/config/master.key

# Ignore node_modules directory
/node_modules/
1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--require spec_helper
60 changes: 60 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
AllCops:
NewCops: enable
Exclude:
- "db/**/*"
- "bin/*"
- "config/**/*"
- "Guardfile"
- "Rakefile"
- "node_modules/**/*"

DisplayCopNames: true

Layout/LineLength:
Max: 120
Metrics/MethodLength:
Include:
- "app/controllers/*"
- "app/models/*"
Max: 20
Metrics/AbcSize:
Include:
- "app/controllers/*"
- "app/models/*"
Max: 50
Metrics/ClassLength:
Max: 150
Metrics/BlockLength:
AllowedMethods: ['describe']
Max: 30

Style/Documentation:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
Style/EachForSimpleLoop:
Enabled: false
Style/AndOr:
Enabled: false
Style/DefWithParentheses:
Enabled: false
Style/FrozenStringLiteralComment:
EnforcedStyle: never

Layout/HashAlignment:
EnforcedColonStyle: key
Layout/ExtraSpacing:
AllowForAlignment: false
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
Lint/RaiseException:
Enabled: false
Lint/StructNewOverride:
Enabled: false
Style/HashEachMethods:
Enabled: false
Style/HashTransformKeys:
Enabled: false
Style/HashTransformValues:
Enabled: false
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby-3.2.2
32 changes: 32 additions & 0 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"extends": ["stylelint-config-standard"],
"plugins": ["stylelint-scss", "stylelint-csstree-validator"],
"rules": {
"at-rule-no-unknown": [
true,
{
"ignoreAtRules": [
"tailwind",
"apply",
"variants",
"responsive",
"screen"
]
}
],
"scss/at-rule-no-unknown": [
true,
{
"ignoreAtRules": [
"tailwind",
"apply",
"variants",
"responsive",
"screen"
]
}
],
"csstree/validator": true
},
"ignoreFiles": ["build/**", "dist/**", "**/reset*.css", "**/bootstrap*.css"]
}
77 changes: 77 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.2.2'

# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem 'rails', '~> 7.0.6'

# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem 'sprockets-rails'

# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'

# Use the Puma web server [https://github.com/puma/puma]
gem 'pg'
gem 'puma', '~> 5.0'

# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem 'importmap-rails'

# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
gem 'turbo-rails'

# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
gem 'stimulus-rails'

# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem 'jbuilder'

# Use Redis adapter to run Action Cable in production
# gem "redis", "~> 4.0"

# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"

# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
# gem "bcrypt", "~> 3.1.7"

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', require: false

# Use Sass to process CSS
# gem "sassc-rails"

# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"

group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem 'debug', platforms: %i[mri mingw x64_mingw]
end

group :development do
# Use console on exceptions pages [https://github.com/rails/web-console]
gem 'web-console'

# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
# gem "rack-mini-profiler"

# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring"
end

group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
gem 'capybara'
gem 'selenium-webdriver'
gem 'webdrivers'
end

gem 'devise', '~> 4.9'

gem 'cancancan', '~> 3.5'
Loading