This is a modern Ruby on Rails project management tool. It allows users to:
- Create, view, edit, and delete projects
- Track project state transitions (draft → proceeding → done)
- Add and view comments on projects
- View a detailed project log of state and attribute changes
- Enjoy a clean, responsive UI styled with Tailwind CSS
- Experience robust, modern Rails 8+ Turbo compatibility (no Rails UJS required)
- Project workflow: Draft → Proceeding → Done, with state machine logic
- Activity log: All state and attribute changes are logged and visible per project
- Comments: Add and view comments on each project
- Turbo-native destroy: Uses
data-turbo-methodanddata-turbo-confirmfor safe deletes - Comprehensive test suite: RSpec for models/controllers, Cucumber for end-to-end features
- Ruby 3.1+
- Rails 8+
- Node.js & Yarn (for JS dependencies, if needed)
- SQLite (default) or your preferred DB
- Install dependencies:
bundle install # If using JS bundling: yarn install - Set up the database:
rails db:setup # or, if already set up: rails db:migrate - (Optional) Seed data:
rails db:seed
Start the Rails server:
bin/rails serverVisit http://localhost:3000 in your browser.
bundle exec rspecbundle exec cucumber- The destroy feature requires a JS-capable driver (Selenium/Chrome is default).
- No Rails UJS is required; destroy links use Turbo-native attributes.
To check code style and linting (as in CI):
bin/rubocop -f github- Destroy links: Use
data-turbo-method="delete"anddata-turbo-confirmfor modern Rails compatibility. No need formethod: :deleteor Rails UJS. - Turbo: The app is fully compatible with Turbo/Hotwire. No legacy JS required.
- Tests: All features are covered by Cucumber and RSpec. The destroy flow is tested with Capybara's
accept_confirm.
This was just a test app and no changes will be accepted. Please feel free to clone the app and do with it as you wish.