Launchboard is a small Rails job board built as a portfolio project. It demonstrates how a conventional Ruby on Rails app is structured around MVC, RESTful routing, Active Record associations, request tests, seed data, and a lightweight admin workflow.
- Public landing page with featured jobs and recent openings
- Search and filter jobs by company, location, and remote-only status
- Public job detail page with a candidate application form
- Admin dashboard protected with HTTP Basic Auth
- Admin CRUD flows for companies and jobs
- Seed data so the app looks finished immediately after setup
- Ruby 4.0.1
- Rails 7.2.3
- SQLite3
- Minitest
Companyhas manyJobrecordsJobbelongs to aCompanyand has manyJobApplicationrecordsJobApplicationbelongs to aJob
The public side lives in:
HomeControllerJobsControllerJobApplicationsController
The admin side lives in:
Admin::DashboardControllerAdmin::CompaniesControllerAdmin::JobsController
- Ensure Ruby 4.x and Bundler are available.
- Install dependencies:
bundle install- Create and seed the database:
bin/rails db:setup- Start the app:
bin/rails serverThen open http://localhost:3000.
The admin section uses HTTP Basic Auth.
- Username:
admin - Password:
launchboard-demo
You can override these with environment variables:
export ADMIN_USERNAME=myuser
export ADMIN_PASSWORD=mypasswordbin/rails testThis app is intentionally small, but it shows the Rails fundamentals that matter in a junior-to-mid-level portfolio project:
- Active Record associations and validations
- Clean REST routes
- Server-rendered forms
- Namespaced admin controllers
- Seeded demo data
- Request and model tests
- Authentication for real multi-user accounts
- Pagination for larger job lists
- Richer application review workflow
- File uploads for resumes
- Deploy to Render, Fly.io, or Heroku-style hosting