Skip to content

fudge88/dating-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

171 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crush Logo

You can view the deployed application here.

Table of Contents

Summary

Crush is a dating app, where people can swipe left or right reflecting their interest, and view profiles to find out peoples intentions from the get-go. Its'intentions' feature makes it compulsory for user to state why they're using the app, from 'FlingTing' and 'Lets see where it goes', to 'Marry Me'.

This means there's no faff and pretence, rather everyone knows where they stand before engaging in a conversation.

A responsive dynamic app which will run in the browser. Crush is an easy to use application, which holds a SQL database, and manages matches. The website requires direct input from the user, where the user signs up and is easily able to navigate through the site. If any 2 users swipe right on one-another, this creates a match, and allows the couple to decide on a date.

User Story

AS a user I expect to FIND a main page that gives me an overview of what the app is about.

I would ALSO expect to find some form of navigation on using the app, such as 'signing up' and 'logging in' buttons,

WHEN i click on either buttons, i EXPECT to be taken to a page where i can either login and be relocated to a private page or enter my details and sign up for instant use.

Ideally i would THEN like to be taken to my Profile page. WHERE i can see my matches, and HAVE the ability to update Bio at a later stage.

As a user i WOULD like to have a navbar that would give me easy access to the relevant pages, such as my profile, and the exploring options.

WHEN exploring i SHOULD be given a summary information of other users (potential matches), AND have the ability to view their profile WHEN i click on the card.

I WOULD like my first glance at the user cards to give me:

- image
- name
- age
- location
- and a short summary

The cards SHOULD give me the ability to select yes or no at a glance, as an precursor of matching.

If another USER has 'liked me', upon 'liking' them back i SHOULD receive a notification that we matched. I WOULD also like the option to connect or to continue browsing.

Technologies Used

Languages

  • HTML5
  • CSS
  • JavaScript
  • JQuery
  • MySQL
  • Sequelize

Frameworks used

  • Bootstrap
  • Font Awesome
  • Google Fonts
  • Node JS
  • Express JS
  • Handlebars JS
  • MVC Paradigm
  • bcrypt

Installation:

If you are interest in making contribution to the code, you can install this repository by following the instructions below:

You are able to clone this repository, by clicking here and then clicking on the code button. Select how you would like to clone the repository.

If you have your SSH keys set up, you are able to copy the link from the drop down and paste the following into your terminal application:

git@github.com:SumaiaSorna/dating-app.git

Then change your directory so you are now in your newly cloned project and then open the code in your chosen source-code editor.

You need to install all dependencies that are listed in the package.json file:

npm install

Check to see that the following code is in the package.json, this will ensure npm to 'start' the application from your entry file

"start": node src/index.js

How to run the application:

To run the start script, use the following code in the terminal.

npm run start

APIs

Third Party API:

Quotable is a free, open source quotations API. It was originally built as part of a FreeCodeCamp project. We have incorporated this into our project; Using the hashtag 'positiveVibesOnly' to appeal and encourage the youth to stay strong and positive about their search, life, and the pandemic.

We used the endpoints of random/?tags=love this generates a random quote for every click/refresh of the page.

Restful API:

To Create an restful API we began by defining the EndPoints which needed to be created first. EndPoints can be found in the routes for the API that we created. We used HTTP verbs such as GET, POST, and PUT.

GET is used to get data from the server or better known as READ, POST is used to CREATE new data, PUT is used to UPDATE data, and DELETE is used to delete data.

Or better known as CRUD (Create-Read-Update-Delete) functionality.

Routing Table:

Here is the EndPoint design of the RESTful API that was used to create this project:

Routing Table

Contributors

Improvements

  • Giving the user the ability to delete their profile
  • Giving the user the ability to add more images
  • Installing an instant messaging service
  • Ability to video call and leave voice notes
  • Creating a premium service, which creates matches based interests

Wireframes

Home Page

Wireframe for home

Profile Page

Wireframe for profile

Search Page

Wireframe for search

Explore Page

Wireframe for explore

Login Page

Wireframe for login

Signup Page

Wireframe for signup

Final Website

Home Page

Screen-shot of webpage

Profile Page

Screen-shot of webpage

Explore Page

Screen-shot of webpage

SignUp Page

Screen-shot of webpage

Login Page

Screen-shot of webpage

References

Background Image by Samuel Berner

Flexbox positioning

Webm to Gif converter

Mozilla.org

StackOverflow

License

MIT

This project is licensed under the terms of the MIT license.

Questions

  • If you have any questions about this project
  • would like further information
  • would like to report and issue

please contact me through the links below:

GitHub Profile

Email: sorna.sumaia@gmail.com

About

Crush is an dating app, where users can match one another to create a open steam of communication

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors