A collaborative learning platform for real-time discussion, messaging and knowledge sharing.
- Authentication with account activation & password recovery
- Follow / unfollow users + personalized feed
- Real-time messaging and activity updates using Action Cable (WebSockets)
- Topic-based rooms for structured discussions
- Search, pagination and SEO-friendly URLs
- Admin panel
- Ruby on Rails, Hotwire, Stimulus, Postgres, Redis, Action Cable, Cloudinary, SendGrid, Render
Prerequisites
- rbenv (ruby 3.4.8)
- rails 8.0.5
- postgres
- redis (for development)
- libvips (active storage)
git clone https://github.com/ycisir/study_mates.git
cd study_mates
bundle install
rails db:setup
bin/rails serverbundle exec rspec- Specs cover models, requests, channels, jobs and mailers.
- A coverage report is generated at
coverage/index.html(SimpleCov, line and branch coverage). - Tests don't need Redis, because Action Cable uses the test adapter.
- GitHub Actions runs RSpec against PostgreSQL, plus RuboCop and Brakeman, on every pull request.
This project is licensed under the terms of the MIT License. See the LICENSE file for details.