Hi guys, I made a few posts here previously about my video series on building a Tinder clone using Ruby on Rails 6. For those following along with the video series, I've recently released the final video in the series \[part 4\] on my YouTube channel. This will be the final part of the Tinder build. There are a lot more features that could be added such as using geolocation, search preferences etc. However, the build is a good starting point for anyone using Tinder as a baseline for their web app.
**Part 1:**
I cover setting up user accounts using the devise gem, add functionality for users to upload multiple photos to their account (image uploads using active storage, stored local in development environment and to Amazon S3 in production), then on the front end we build a slide show type interface where the user can click to filter through user profiles.
[https://www.youtube.com/watch?v=P5gAaZq-sPs](https://www.youtube.com/watch?v=P5gAaZq-sPs)
**Part 2:**
Added backend functionality for liking users and being liked back. Adding matching and display a list of accounts that we have matched with. Add a sidebar to show our profile image with links to our profile plus a list of matches underneath with a tab structure for Matches / Messages.
[https://www.youtube.com/watch?v=ibRVysxvOdU](https://www.youtube.com/watch?v=ibRVysxvOdU)
**Part 3:**
Create messaging functionality by introducing new Conversation and Message models. Build overlay feature that is shown when a matched profile is clicked. Load profile data and messages via ajax and update conversation window partial with response. Build out messaging functionality using form\_with and handle response in JS to update views.
[https://www.youtube.com/watch?v=YA1bc9MhlKQ](https://www.youtube.com/watch?v=YA1bc9MhlKQ)
**Part 4:**
Complete the messaging styles (for matched profiles) and also add improvements to the matching code. Add user details and latest message from conversations to the Messages tab. Add decline code so that a user doesn't reappear in the stack. Identifying potential N+1 queries and resolving them. Add additional fields to Devise accounts table to allow for user's Education, Location and Bio data. Style improvements for browse controls using Font Awesome icon stacking. Add ability to toggle more user information. Style improvements for editing account details.
[https://www.youtube.com/watch?v=azW8A-KxQac](https://www.youtube.com/watch?v=azW8A-KxQac)
The build is part of a collection of MVP's that I have been building after working in the tech startup space for some time and assisting in building minimum viable products.
I'll post new web app builds on YouTube using Ruby on Rails 6 so feel free to check out the channel and add some recommendations for upcoming builds.
Want to start learning Ruby so have subscribed.