Skip to content

DraconMarius/love-is-blur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

Description

Our dating app is all about prioritizing values over looks. Instead of basing decisions on appearances, our app encourages users to get to know each other on a deeper level. This is made possible by not allowing users to see each other's photos until they match and send messages for a bit. Pictures start blurred and gradually unblur, hence our name Love is Blur. Our app is built using React, GraphQL, Apollo, material-UI, Bulma and Mongoose among others. These technologies allow us to create a unique and user-friendly experience. Whether you're looking for a long-term relationship or just looking to meet new people, give our app a try and see the difference for yourself!

Click here for a link to the deployed app!

Table of Contents

Usage

Make sure you have mongoDB and MongoDB Compass installed first. Next, to run our app on your local machine all you need to do is fork the repo, install the dependencies, run "npm run seed" and "npm run develop" in the root directory and it will start up the server and webpage.

Features

Homepage

The first thing you see is our homepage, with a few sections if you scroll down it you see the text effects. This was made with framer and react-moving-text. homepage gif

Sign Up

The first thing you need to do is sign up and upload a photo and name and bio about yourself. We use the cloudinary widget to upload photos for storage.heres a gif of what sign up looks like: sign up gif

Swipe

Next, you cant get to the swiping. Our swiping was somwhat based off of tinder and we use react-tinder-card npm pacakge to give it funtionality. If someone you liked, also likes you back, you will be notified. swipe gif

Chat

We have a chat page where all you matches will be located and where you can message them. Both your and your match's pictures will start blurred and will gradually unblur as you send messages.Here's what is looks like: chat gif

Edit Profile

The edit profile page is wher eyou can upload a new image and update your bio and name.

edit profile gif

Code Snippets

An interesting snippet is where we upload the Cloudinary widget so we can upload photos:

const myWidget = window.cloudinary.createUploadWidget(
  {
    cloudName: process.env.cloudName,
    uploadPreset: process.env.uploadPreset,
    cropping: true,
    multiple: false,
  },
  (error, result) => {
    if (!error && result && result.event === "success") {
      console.log("Done! Here is the image info: ", result.info);
      // const urlString = result.info.url
      imgURL.current = result.info.url;
      console.log(result.info.url);
      console.log(imgURL.current);
    }
  }
);
//function to open the cloudinary widget
const openWidget = (myWidget) => {
  // event.preventDefault();
  myWidget.open();
};

Here's another interesting code snippet. This is our logic for gradually unblurring the profile pictures as the users send messages to eachother:


    //blur logic
    const Style = {
        blur: {   //if messages are less than or == 10,  blur incremently, otherwise no blur
            filter: `blur(${messages.length <= 10 ? 20 - (messages.length * 2) : 0}px)`
        }
    }

Built With

  • JavaScript
  • React Router
  • Apollo-GraphQL
  • GraphQL
  • MongoDB
  • Socket.io
  • React
  • MUI
  • Framer
  • Express.js
  • JWT
  • NodeJS
  • Heroku
  • HTML5
  • Bulma
  • NPM

Authors

Chris Gibson

Luiz Borges

github linkedin

Mari Ma

github linkedin

Icon credit @ Anton Kalashnyk

Jacob Caloca

Contributing Guidlines

If you would like to contribute to this app, please create an issue and we can discuss further.

Questions

For any questions, please reach out by creating an issue.

License

Licensed under the MIT license.License details here

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •