Friend Finder is a web application built using Rails to help users find and message new friends.
Users can create an account and make a profile including a variety of interests and upload a profile photo. Users can browse through users using common interests as a filtering mechanism as well as send and receive messages.
- Authentication (user registration and login) uses the bcrypt gem.
- The back end uses ActiveRecord as the ORM. It uses PostgreSQL for the database via the pg gem.
- The front end leverages Rails ERB templates, with custom styling using Sass. The assets are built using Webpack.
- Pagination uses the Kaminari gem.
- Image uploading is managed by Active Storage.
In order to get the application to work, install dependencies from the Gemfile via Bundler by running bundle install
.
Create the database with bundle exec rails db:create
and run migrations with bundle exec rails db:migrate
, then run bundle exec rails db:seed
to populate the database.
To run the application in development mode after installation, run bundle exec rails s
.
The test suite is developed using Rspec via the rspec-rails gem with shoulda-matchers, while model factories are set up with FactoryBot.
Tests are located under the /spec
folder. In order to run tests, run bundle exec rspec
followed by an optional folder or file under the /spec
directory (for example, to test models, run bundle exec rspec spec/models
).
This project is open source under the terms of the MIT License.