This project is a Rails 7 blog application with full user authentication and post management. It uses Devise for authentication and Bootstrap 5 for styling, focusing on a clean interface and strong testing setup using RSpec and Capybara.
Authentication (Devise)
Sign up, login, logout
Account editing (name, email, password)
Flash messages styled with Bootstrap alerts
Dynamic navbar (different links for visitors and logged-in users)
User dropdown with quick actions
Posts belong to a User
Create, edit, and delete posts
Public index and show screens
Each post shows author and view counter
Example user
Example posts linked to that user
Clone the repository and install dependencies:
bundle install
Configure the database:
rails db:migrate
rails db:seed
Start the server:
rails server
Open in browser: http://localhost:3000
Models
User (Devise: name, email, password)
Post (belongs_to User)
Controllers
Custom Devise controllers (users/registrations, users/sessions)
Views
Customized Devise views with Bootstrap
Post views (index, show, new, edit)
UI
Navbar with session management
Flash messages styled with Bootstrap
Visitors
Can view posts (index, show)
Logged-in Users
Can create, edit, and delete posts
Manage posts directly from the navbar dropdown
📖 Notes
Rails: 7.x
Devise: 4.9.2
Bootstrap: 5
Tests: RSpec + Capybara
Designed with LGPD/GDPR in mind
Version Upgrade Recommendation Table
Improve post design/layout Add pagination Extend user profiles (avatars/bios) Increase test coverage
This list groups all useful links for topic-based testing.
- Capybara HomePage
- Capybara Git
- Factory Bot - Pure ruby
- Factory Bot - Rails
- Devise Plus Capybara Guide
- RSpec Configuration Docs
- RSpec Zero Monkey Patching Mode
- RSpec Rails Features
- Rails Guide – Content Security Policy
- Rails I18n Guide
- Rails Routing Guide
- Rails Guide – ActiveModel Secure Password
- Rails Guide – Active Storage Variants
- Rails Guide – Debugging with the debug gem
- Rails DevContainer Guide
- Robots.txt Documentation
- Docker Docs – .dockerignore
- Git Attributes Documentation
- GitHub Help – Ignoring Files
- RubyGems Source
- RSpec Rails
- Rails Web Console
- FactoryBot GitHub
- WebMock GitHub
- VCR – Filter Sensitive Data Docs
- FactoryBot Videos – Thoughtbot Upcase
- Brakeman Scanner
- Rubocop Rails Omakase
| Root Page | Posts Page |
|---|---|
![]() |
![]() |
| Log In Page | Sign Up Page |
|---|---|
![]() |
![]() |
| Signed Up Page | Forgot Password Page |
|---|---|
![]() |
![]() |
| Change Password Page | Edit User Page |
|---|---|
![]() |
![]() |







