feat: init
parents
Showing
.dockerignore
0 → 100644
.gitattributes
0 → 100644
.github/dependabot.yml
0 → 100644
.github/workflows/ci.yml
0 → 100644
.gitignore
0 → 100644
.kamal/hooks/docker-setup.sample
0 → 100755
.kamal/hooks/post-app-boot.sample
0 → 100755
.kamal/hooks/post-deploy.sample
0 → 100755
.kamal/hooks/post-proxy-reboot.sample
0 → 100755
.kamal/hooks/pre-app-boot.sample
0 → 100755
.kamal/hooks/pre-build.sample
0 → 100755
.kamal/hooks/pre-connect.sample
0 → 100755
.kamal/hooks/pre-deploy.sample
0 → 100755
.kamal/hooks/pre-proxy-reboot.sample
0 → 100755
.kamal/secrets
0 → 100644
.rubocop.yml
0 → 100644
.ruby-version
0 → 100644
Dockerfile
0 → 100644
Gemfile
0 → 100644
source "https://rubygems.org" | ||
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" | ||
gem "rails", "~> 8.0.1" | ||
# Use sqlite3 as the database for Active Record | ||
gem "sqlite3", ">= 2.1" | ||
# Use the Puma web server [https://github.com/puma/puma] | ||
gem "puma", ">= 5.0" | ||
# Build JSON APIs with ease [https://github.com/rails/jbuilder] | ||
gem "jbuilder" | ||
# 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[ windows jruby ] | ||
# Use the database-backed adapters for Rails.cache, Active Job, and Action Cable | ||
gem "solid_cache" | ||
gem "solid_queue" | ||
gem "solid_cable" | ||
# Reduces boot times through caching; required in config/boot.rb | ||
gem "bootsnap", require: false | ||
# Deploy this application anywhere as a Docker container [https://kamal-deploy.org] | ||
gem "kamal", require: false | ||
# Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/] | ||
gem "thruster", require: false | ||
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] | ||
gem "image_processing", "~> 1.2" | ||
# Search functionality | ||
gem "ransack", "~> 4.1" | ||
gem "kaminari" | ||
group :development, :test do | ||
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem | ||
gem "debug", platforms: %i[ mri windows ], require: "debug/prelude" | ||
# Static analysis for security vulnerabilities [https://brakemanscanner.org/] | ||
gem "brakeman", require: false | ||
# Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/] | ||
gem "rubocop-rails-omakase", require: false | ||
end | ||
group :development do | ||
# Use console on exceptions pages [https://github.com/rails/web-console] | ||
gem "web-console" | ||
end | ||
group :test do | ||
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] | ||
gem "capybara" | ||
gem "selenium-webdriver" | ||
end | ||
gem "inertia_rails-contrib", "~> 0.4.0" | ||
gem "vite_rails", "~> 3.0" |
Gemfile.lock
0 → 100644
Procfile.dev
0 → 100644
README.md
0 → 100644
Rakefile
0 → 100644
app/assets/images/.keep
0 → 100644
app/assets/stylesheets/application.css
0 → 100644
app/channels/application_cable/connection.rb
0 → 100644
app/controllers/admin/images_controller.rb
0 → 100644
app/controllers/admin/users_controller.rb
0 → 100644
app/controllers/application_controller.rb
0 → 100644
app/controllers/concerns/.keep
0 → 100644
app/controllers/concerns/authentication.rb
0 → 100644
app/controllers/images_controller.rb
0 → 100644
app/controllers/passwords_controller.rb
0 → 100644
app/controllers/sessions_controller.rb
0 → 100644
app/controllers/tags_controller.rb
0 → 100644
app/frontend/components/ErrorMessage.jsx
0 → 100644
app/frontend/components/ImageCard.jsx
0 → 100644
app/frontend/components/Pagination.jsx
0 → 100644
app/frontend/components/SuccessMessage.jsx
0 → 100644
app/frontend/components/TagSelector.jsx
0 → 100644
app/frontend/entrypoints/application.css
0 → 100644
app/frontend/entrypoints/inertia.js
0 → 100644
app/frontend/pages/Forbidden.jsx
0 → 100644
app/frontend/pages/Home.jsx
0 → 100644
app/frontend/pages/Layout.jsx
0 → 100644
app/frontend/pages/NotFound.jsx
0 → 100644
app/frontend/pages/admin/Dashboard.jsx
0 → 100644
app/frontend/pages/admin/images/Index.jsx
0 → 100644
app/frontend/pages/admin/tags/Index.jsx
0 → 100644
app/frontend/pages/admin/users/Index.jsx
0 → 100644
app/frontend/pages/auth/ForgotPassword.jsx
0 → 100644
app/frontend/pages/auth/Login.jsx
0 → 100644
app/frontend/pages/auth/Register.jsx
0 → 100644
app/frontend/pages/auth/ResetPassword.jsx
0 → 100644
app/frontend/pages/images/Edit.jsx
0 → 100644
app/frontend/pages/images/Index.jsx
0 → 100644
app/frontend/pages/images/New.jsx
0 → 100644
app/frontend/pages/images/Search.jsx
0 → 100644
app/frontend/pages/images/Show.jsx
0 → 100644
app/frontend/pages/profile/Show.jsx
0 → 100644
app/frontend/pages/sessions/Index.jsx
0 → 100644
app/frontend/pages/sessions/New.jsx
0 → 100644
app/frontend/pages/sessions/Security.jsx
0 → 100644
app/helpers/admin/dashboard_helper.rb
0 → 100644
app/helpers/admin/images_helper.rb
0 → 100644
app/helpers/admin/users_helper.rb
0 → 100644
app/helpers/application_helper.rb
0 → 100644
app/helpers/images_helper.rb
0 → 100644
app/helpers/tags_helper.rb
0 → 100644
app/jobs/application_job.rb
0 → 100644
app/mailers/application_mailer.rb
0 → 100644
app/mailers/passwords_mailer.rb
0 → 100644
app/mailers/session_mailer.rb
0 → 100644
app/models/application_record.rb
0 → 100644
app/models/concerns/.keep
0 → 100644
app/models/current.rb
0 → 100644
app/models/image.rb
0 → 100644
app/models/image_tag.rb
0 → 100644
app/models/session.rb
0 → 100644
app/models/tag.rb
0 → 100644
app/models/user.rb
0 → 100644
app/views/layouts/application.html.erb
0 → 100644
app/views/layouts/mailer.html.erb
0 → 100644
app/views/layouts/mailer.text.erb
0 → 100644
app/views/passwords/edit.html.erb
0 → 100644
app/views/passwords/new.html.erb
0 → 100644
app/views/passwords_mailer/reset.html.erb
0 → 100644
app/views/passwords_mailer/reset.text.erb
0 → 100644
app/views/pwa/manifest.json.erb
0 → 100644
app/views/pwa/service-worker.js
0 → 100644
app/views/tags/create.html.erb
0 → 100644
app/views/tags/destroy.html.erb
0 → 100644
app/views/tags/edit.html.erb
0 → 100644
app/views/tags/index.html.erb
0 → 100644
app/views/tags/new.html.erb
0 → 100644
app/views/tags/update.html.erb
0 → 100644
bin/brakeman
0 → 100755
bin/bundle
0 → 100755
bin/dev
0 → 100755
bin/docker-entrypoint
0 → 100755
bin/jobs
0 → 100755
bin/kamal
0 → 100755
bin/rails
0 → 100755
bin/rake
0 → 100755
bin/rubocop
0 → 100755
bin/setup
0 → 100755
bin/thrust
0 → 100755
bin/vite
0 → 100755
config.ru
0 → 100644
config/application.rb
0 → 100644
config/boot.rb
0 → 100644
config/cable.yml
0 → 100644
config/cache.yml
0 → 100644
config/credentials.yml.enc
0 → 100644
config/database.yml
0 → 100644
config/deploy.yml
0 → 100644
config/environment.rb
0 → 100644
config/environments/development.rb
0 → 100644
config/environments/production.rb
0 → 100644
config/environments/test.rb
0 → 100644
config/initializers/inertia_rails.rb
0 → 100644
config/initializers/inflections.rb
0 → 100644
config/locales/en.yml
0 → 100644
config/puma.rb
0 → 100644
config/queue.yml
0 → 100644
config/recurring.yml
0 → 100644
config/routes.rb
0 → 100644
config/storage.yml
0 → 100644
config/vite.json
0 → 100644
db/cable_schema.rb
0 → 100644
db/cache_schema.rb
0 → 100644
db/migrate/20250308052222_create_users.rb
0 → 100644
db/migrate/20250308052223_create_sessions.rb
0 → 100644
db/migrate/20250308053833_create_tags.rb
0 → 100644
db/migrate/20250308053931_create_images.rb
0 → 100644
db/queue_schema.rb
0 → 100644
db/schema.rb
0 → 100644
db/seeds.rb
0 → 100644
lib/tasks/.keep
0 → 100644
log/.keep
0 → 100644
package-lock.json
0 → 100644
This source diff could not be displayed because it is too large.
You can
view the blob
instead.
package.json
0 → 100644
{ | ||
"private": true, | ||
"type": "module", | ||
"devDependencies": { | ||
"vite": "^5.4.14", | ||
"vite-plugin-ruby": "^5.1.1" | ||
}, | ||
"dependencies": { | ||
"@inertiajs/react": "^2.0.5", | ||
"@radix-ui/react-avatar": "^1.1.3", | ||
"@radix-ui/react-checkbox": "^1.1.4", | ||
"@radix-ui/react-dialog": "^1.1.6", | ||
"@radix-ui/react-dropdown-menu": "^2.1.6", | ||
"@radix-ui/react-form": "^0.1.2", | ||
"@radix-ui/react-select": "^2.1.6", | ||
"@radix-ui/react-switch": "^1.1.3", | ||
"@radix-ui/react-tabs": "^1.1.3", | ||
"@radix-ui/react-toast": "^1.2.6", | ||
"@tailwindcss/forms": "^0.5.10", | ||
"@tailwindcss/postcss": "^4.0.12", | ||
"@tailwindcss/typography": "^0.5.16", | ||
"@tailwindcss/vite": "^4.0.12", | ||
"@vitejs/plugin-react": "^4.3.4", | ||
"autoprefixer": "^10.4.20", | ||
"react": "^19.0.0", | ||
"react-dom": "^19.0.0", | ||
"tailwindcss": "^4.0.12" | ||
} | ||
} |
public/400.html
0 → 100644
public/404.html
0 → 100644
public/406-unsupported-browser.html
0 → 100644
public/422.html
0 → 100644
public/500.html
0 → 100644
public/icon.png
0 → 100644
4.07 KB
public/icon.svg
0 → 100644
public/robots.txt
0 → 100644
script/.keep
0 → 100644
storage/.keep
0 → 100644
tailwind.config.js
0 → 100644
test/application_system_test_case.rb
0 → 100644
test/controllers/.keep
0 → 100644
test/controllers/images_controller_test.rb
0 → 100644
test/controllers/tags_controller_test.rb
0 → 100644
test/fixtures/files/.keep
0 → 100644
test/fixtures/image_tags.yml
0 → 100644
test/fixtures/images.yml
0 → 100644
test/fixtures/tags.yml
0 → 100644
test/fixtures/users.yml
0 → 100644
test/helpers/.keep
0 → 100644
test/integration/.keep
0 → 100644
test/mailers/.keep
0 → 100644
test/models/.keep
0 → 100644
test/models/image_tag_test.rb
0 → 100644
test/models/image_test.rb
0 → 100644
test/models/tag_test.rb
0 → 100644
test/models/user_test.rb
0 → 100644
test/system/.keep
0 → 100644
test/test_helper.rb
0 → 100644
tmp/.keep
0 → 100644
tmp/pids/.keep
0 → 100644
tmp/storage/.keep
0 → 100644
vendor/.keep
0 → 100644
vite.config.ts
0 → 100644