The Web Developer Hub is a platform designed to connect developers, provide resources, and showcase projects. Users can create profiles, list their skills, share resources, post projects, and bookmark both resources and projects for future reference. The system emphasizes user-generated content while maintaining structured skill management for consistent categorization.
- User Registration & Authentication – Sign up, log in, and manage account securely using Devise.
- Profile Management – Create a detailed profile with bio, avatar, and skills.
- Skill Management – Admins can add/remove skills for consistent categorization.
- Resource Sharing – Users can post, edit, and share developer resources.
- Project Showcasing – Users can post projects including related skills.
- Bookmarking – Save favorite resources and projects for future reference.
- Dashboard – View personal resources, projects, bookmarks, and skills.
- Search & Filtering – Find resources and projects by skill or keyword.
- Security – Brakeman scans and Devise authentication for user safety.
id(primary key)email(unique, not null)encrypted_password(not null)created_at,updated_atAssociations:has_one :profilehas_many :resourceshas_many :projectshas_many :bookmarked_resourceshas_many :bookmarked_projects
id(primary key)name
id,user_id(foreign key)first_name,last_name(not null)bio,skills,avatarcreated_at,updated_atAssociations:belongs_to :userhas_many :skills
user_id,skill_id(foreign keys)
id,user_id(foreign key)title,description,urlcreated_at,updated_atAssociations:belongs_to :userhas_many :bookmarked_resources
id,user_id(foreign key)title,descriptioncreated_at,updated_atAssociations:belongs_to :userhas_many :skills
project_id,skill_id(foreign keys)
id,user_id,resource_id(foreign keys)created_at,updated_atAssociations:belongs_to :resourcebelongs_to :user
id,user_id,project_id(foreign keys)created_at,updated_atAssociations:belongs_to :projectbelongs_to :user
Coming soon – deployment/video demo will be added in next update.
- Frontend: HTML, ERB, TailwindCSS
- Backend: Ruby on Rails
- Database: PostgreSQL
- Authentication: Devise
- Version Control: Git & GitHub
- Project Management: Jira, Slack
- Design: Figma
| Route | Controller#Action | Purpose |
|---|---|---|
/ |
home#index |
Landing page |
/dashboard |
dashboard#index |
User dashboard |
More routes will be added as features are built.
- Brakeman — Rails static security scanner
- Devise authentication to secure user accounts
- Ruby:
3.2.5 - Rails:
8.1
git clone https://github.com/Code-the-Dream-School/k-group-practicum-team2.git
cd k-group-practicum-team2bundle install
npm installbin/rails db:preparebin/dev👉 App will run at http://localhost:3000
Run the seed file:
bin/rails db:seed
This project uses RSpec for automated testing. All previous Minitest tests have been migrated to RSpec request specs.
Run the test suite
# Run all specs
bundle exec rspec
# Run a single spec file
bundle exec rspec spec/requests/home_spec.rb
bundle exec rspec spec/requests/profiles_spec.rb
bundle exec rspec spec/requests/projects_spec.rb
bundle exec rspec spec/models/profile_spec.rbRun the test suite with code coverage enabled:
COVERAGE=true bundle exec rspecViewing Coverage Reports:
- Console Output — Coverage summary and file-by-file breakdown are displayed directly in the terminal after tests complete
- HTML Report — Detailed coverage report with line-by-line highlighting is generated in
coverage/index.html. Open this file in your browser for an interactive view - CI Logs — In GitHub Actions, expand the "Run RSpec" step to view console coverage output. HTML reports are available as downloadable artifacts