Skip to content

Commit 036d156

Browse files
authored
Initial commit
0 parents  commit 036d156

File tree

161 files changed

+6408
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

161 files changed

+6408
-0
lines changed

.eslintrc.cjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/* eslint-env node */
2+
require("@rushstack/eslint-patch/modern-module-resolution");
3+
4+
module.exports = {
5+
root: true,
6+
extends: [
7+
"plugin:vue/vue3-essential",
8+
"eslint:recommended",
9+
"@vue/eslint-config-typescript/recommended",
10+
"@vue/eslint-config-prettier",
11+
],
12+
};

.gitattributes

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# See https://git-scm.com/docs/gitattributes for more about git attribute files.
2+
3+
# Mark the database schema as having been generated.
4+
db/schema.rb linguist-generated
5+
6+
# Mark any vendored files as having been vendored.
7+
vendor/* linguist-vendored

.github/workflows/codeql-analysis.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL"
13+
14+
on:
15+
push:
16+
branches: [ "main" ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ "main" ]
20+
schedule:
21+
- cron: '15 0 * * 0'
22+
23+
jobs:
24+
analyze:
25+
name: Analyze
26+
runs-on: ubuntu-latest
27+
permissions:
28+
actions: read
29+
contents: read
30+
security-events: write
31+
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
language: [ 'javascript', 'ruby' ]
36+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v3
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v2
46+
with:
47+
languages: ${{ matrix.language }}
48+
# If you wish to specify custom queries, you can do so here or in a config file.
49+
# By default, queries listed here will override any specified in a config file.
50+
# Prefix the list here with "+" to use these queries and those in the config file.
51+
52+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53+
# queries: security-extended,security-and-quality
54+
55+
56+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
57+
# If this step fails, then you should remove it and run the build manually (see below)
58+
- name: Autobuild
59+
uses: github/codeql-action/autobuild@v2
60+
61+
# ℹ️ Command-line programs to run using the OS shell.
62+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63+
64+
# If the Autobuild fails above, remove it and uncomment the following three lines.
65+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66+
67+
# - run: |
68+
# echo "Run, Build Application using script"
69+
# ./location_of_script_within_repo/buildscript.sh
70+
71+
- name: Perform CodeQL Analysis
72+
uses: github/codeql-action/analyze@v2

.github/workflows/rubyonrails.yml

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# This workflow uses actions that are not certified by GitHub. They are
2+
# provided by a third-party and are governed by separate terms of service,
3+
# privacy policy, and support documentation.
4+
#
5+
# This workflow will install a prebuilt Ruby version, install dependencies, and
6+
# run tests and linters.
7+
name: "Ruby on Rails CI"
8+
on:
9+
push:
10+
branches: [ "main" ]
11+
pull_request:
12+
branches: [ "main" ]
13+
jobs:
14+
test-rspec:
15+
timeout-minutes: 30
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v3
20+
# Add or replace dependency steps here
21+
- name: Install Ruby and gems
22+
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
23+
with:
24+
bundler-cache: true
25+
- name: Setup SQLite environment
26+
# You may pin to the exact commit or the version.
27+
# uses: ccorsi/setup-sqlite@90c2ea365856628cdbb502d642b658d9d0fccfab
28+
uses: ccorsi/[email protected]
29+
with:
30+
# The version of SQLite that you want to install, example, 3.40.0
31+
sqlite-version: 3.40.0
32+
- name: Set up database schema
33+
run: bin/rails db:schema:load
34+
- name: Cache yarn packages
35+
uses: actions/cache@v3
36+
with:
37+
key: yarn-v2-${{ hashFiles('yarn.lock') }}
38+
path: |
39+
./node_modules
40+
./.yarn/cache
41+
restore-keys: |
42+
yarn-v2-${{ hashFiles('yarn.lock') }}
43+
yarn-v2-
44+
- name: Install frontend dependencies
45+
run: yarn install --frozen-lockfile
46+
- name: Get installed Playwright version
47+
run: |
48+
YARN_JSON="$(yarn info @playwright/test dist --json)"
49+
PLAYWRIGHT_SHA=$(node -e "console.log(JSON.parse('$YARN_JSON').data.shasum)")
50+
echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_SHA" >> $GITHUB_ENV
51+
echo "Playwright VERSION SHA: $PLAYWRIGHT_SHA"
52+
- name: Cache playwright binaries
53+
uses: actions/cache@v3
54+
id: playwright-cache
55+
with:
56+
path: |
57+
~/.cache/ms-playwright
58+
key: "${{ runner.os }}-playwright-v4-${{env.PLAYWRIGHT_VERSION}}"
59+
- name: Install Playwright Browsers
60+
if: steps.playwright-cache.outputs.cache-hit != 'true'
61+
run: npx playwright install --with-deps chromium
62+
- name: Make directories for storing screenshots
63+
run: |
64+
mkdir -p tmp/capybara/screenshots
65+
mkdir -p tmp/screenshots
66+
- name: Run tests
67+
run: bundle exec rspec
68+
- uses: actions/upload-artifact@v2
69+
if: failure()
70+
with:
71+
name: Playwright Test Results
72+
path: |
73+
tmp/screenshots
74+
- uses: actions/download-artifact@v3
75+
if: failure()
76+
with:
77+
name: Playwright Test Results
78+
path: |
79+
tmp/screenshots
80+
test-frontend:
81+
runs-on: ubuntu-latest
82+
steps:
83+
- name: Checkout code
84+
uses: actions/checkout@v3
85+
- name: Cache yarn packages
86+
uses: actions/cache@v3
87+
with:
88+
key: yarn-v2-${{ hashFiles('yarn.lock') }}
89+
path: |
90+
./node_modules
91+
./.yarn/cache
92+
restore-keys: |
93+
yarn-v2-${{ hashFiles('yarn.lock') }}
94+
yarn-v2-
95+
- name: Install frontend dependencies
96+
run: yarn install --frozen-lockfile
97+
- name: Run frontend tests
98+
run: yarn test:unit
99+
100+
lint:
101+
runs-on: ubuntu-latest
102+
steps:
103+
- name: Checkout code
104+
uses: actions/checkout@v3
105+
- name: Install Ruby and gems
106+
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
107+
with:
108+
bundler-cache: true
109+
# Add or replace any other lints here
110+
#- name: Security audit dependencies
111+
# run: bin/bundler-audit --update
112+
#- name: Security audit application code
113+
# run: bin/brakeman -q -w2
114+
#- name: Lint Ruby files
115+
# run: bin/rubocop --parallel

.gitignore

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
2+
#
3+
# If you find yourself ignoring temporary files generated by your text editor
4+
# or operating system, you probably want to add a global ignore instead:
5+
# git config --global core.excludesfile '~/.gitignore_global'
6+
7+
# Ignore bundler config.
8+
/.bundle
9+
10+
# Ignore the default SQLite database.
11+
/db/*.sqlite3
12+
/db/*.sqlite3-journal
13+
/db/*.sqlite3-*
14+
15+
# Ignore all logfiles and tempfiles.
16+
/log/*
17+
/tmp/*
18+
!/log/.keep
19+
!/tmp/.keep
20+
21+
# Ignore pidfiles, but keep the directory.
22+
/tmp/pids/*
23+
!/tmp/pids/
24+
!/tmp/pids/.keep
25+
26+
# Ignore uploaded files in development.
27+
/storage/*
28+
!/storage/.keep
29+
30+
/public/assets
31+
.byebug_history
32+
33+
# Ignore master key for decrypting credentials and more.
34+
/config/master.key
35+
36+
# Vite Ruby
37+
/public/vite
38+
/public/vite-dev
39+
/public/vite-test
40+
node_modules
41+
*.local
42+
.DS_Store
43+
44+
45+
# Vite Ruby
46+
/public/vite
47+
/public/vite-dev
48+
/public/vite-test
49+
node_modules
50+
*.local
51+
.DS_Store
52+
53+
54+
# Vite Ruby
55+
/public/vite
56+
/public/vite-dev
57+
/public/vite-test
58+
node_modules
59+
*.local
60+
.DS_Store
61+
62+
.yarn/
63+
.vscode/
64+
65+
/app/assets/builds/*
66+
!/app/assets/builds/.keep

.node-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
18.12.1

.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.0.5

Gemfile

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
source 'https://rubygems.org'
2+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3+
4+
ruby '3.0.5'
5+
6+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
7+
gem 'rails', '>= 7.0.3.1'
8+
# Turbo: https://turbo.hotwired.dev/handbook/introduction
9+
gem 'turbo-rails'
10+
# Use sqlite3 as the database for Active Record
11+
gem 'sqlite3', '~> 1.4'
12+
# Use Puma as the app server
13+
gem 'puma', '~> 4.3'
14+
# Use SCSS for stylesheets
15+
gem 'sass-rails', '>= 6'
16+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
17+
gem 'jbuilder', '~> 2.7'
18+
# Use Redis adapter to run Action Cable in production
19+
gem 'redis', '~> 4.0'
20+
# Use Active Model has_secure_password
21+
# gem 'bcrypt', '~> 3.1.7'
22+
23+
# Use Active Storage variant
24+
# gem 'image_processing', '~> 1.2'
25+
26+
# Reduces boot times through caching; required in config/boot.rb
27+
gem 'bootsnap', '>= 1.12.0', require: false
28+
29+
group :development, :test do
30+
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
31+
gem 'byebug', platforms: %i[mri mingw x64_mingw]
32+
end
33+
34+
group :development do
35+
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
36+
gem 'listen', '~> 3.2'
37+
gem 'web-console', '>= 3.3.0'
38+
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
39+
gem 'spring'
40+
gem 'spring-watcher-listen', '~> 2.0.0'
41+
end
42+
43+
group :test do
44+
# Adds support for Capybara system testing and selenium driver
45+
gem 'capybara', '>= 3.35'
46+
gem 'chunky_png', '~> 1.4' # Used for screenshot diffing
47+
gem 'playwright-ruby-client', '~> 1.35.0'
48+
gem 'rspec-rails', '~> 6.0.0'
49+
end
50+
51+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
52+
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
53+
54+
gem 'name_of_person', '~> 1.1', '>= 1.1.1'
55+
gem 'sidekiq', '~> 6.4'
56+
gem 'vite_rails', '~> 3.0.10'
57+
58+
gem 'nokogiri', '>= 1.13.6'

0 commit comments

Comments
 (0)