Thank you for visiting DokiCupid, a matchmaking app made for anime figures!
DokiCupid are a clone from the preferred dating internet site OkCupid. Japan label “doki-doki” defines the noise of your respective conquering cardiovascular system and is also often accustomed express enthusiastic feelings of appreciation.
DokiCupid functions individual pages, matchmaking, blocked research, and instant-messaging between customers.
This software makes use of Rails and Postgres on back-end, and React/Redux to deal with the front-end.
Note: DokiCupid was actually a two-week job posted as part of application Academy’s full-stack curriculum.
Posting (02/05/20): DokiCupid has grown to be mobile-friendly!
- Javascript
- Ruby on rail
- PostgreSQL
- HTML
- CSS/SCSS
- Respond.js
- Redux
- Rails ActionCable for real time messaging
- jQuery for AJAX API desires
- AWS S3 buckets for individual avatar and profile photographs
- BCrypt for Consumer Authentication
- NPM zipcodes to assess length between customers
After logging in, people are welcomed together with the Doubletake webpage which exhibits profile previews for consumers the latest user has not but paired with. Customers can easily see their particular match amount with every exhibited user and also have the substitute for check out that customer’s visibility.
Enjoy and Research
The enjoy webpage brings previews of all of the consumer pages for customers who aren’t yet matched up aided by the current user, together with the distance from and compatibility review with every user.
The Research webpage allows a person to filter prospective matches by tags such as specific personality traits, gender identification, and exactly what the different consumer is “looking for” about this app. Multiple labels is likely to be given at one time, as well as the effects will show users that satisfy each one of these demands. Users can also decide to sort these information by being compatible percentage in growing or lowering purchase.
A majority of my personal React equipment relied on once you understand who current consumer was already matched with, which they’d earlier “liked”, and which people have “liked” them, in order to decide which records would-be showed. In the event the condition failed to currently hold this data, a GET request was developed to /api/matches .
The strategy earlier also known as on current_user reference practices I defined in the individual product, including the soon after:
Whenever checking out a person’s very own profile web page, a person can pick to look at, revise, or remove their unique visibility. Whenever modifying, users can also connect most pictures with their visibility or erase any existing photo.
When customers visit different customers’ profiles, they can “like”, or request getting matched with, the consumer these are typically looking at. When the required user picks to “like” them straight back, a match is made that enables the 2 customers to transmit information to one another.
Fits and Messaging
From the suits page, customers is able to see who they really are currently coordinated with, which they “liked”, and which “liked” all of them. Whenever two people collectively “like” one another, the complement is generated, and something of customers can begin a conversation using the additional regarding the information page. Real-time cam between coordinated customers are applied utilizing actions wire in rail.
Because only one conversation should exists in conversations dining table of database for a set of paired consumers, I composed a scope system :between during the dialogue unit to be used when wanting to establish a discussion within operator. If an individual currently exists from inside the database, the current one is came back; if a preexisting talk is certainly not discover, the technique produces a talk within two customers and return that discussion.
One of the most challenging aspects of this job got configuring Action cable tv for real time texting.
In MessagesChannel , We explained a way make which will take in information and creates a message within the database thereupon information. Then, it broadcasts the plug object for the “messages_channel” referenced inside the subscribed process.
Leave Comment