Giter Club home page Giter Club logo

dating-site's Introduction

My biggest web project

How long did it take ?

24 days

challenge accepted ?

  • a loooooooooooot of features done in a small amount of times
  • team project (coordination is key to success)
  • learn react and node in one week
  • own local webserver using docker compatible with any os
  • no security breaks

What did I learn ?

  • react.js
  • redux
  • node.js
  • bootstrap and templating
  • socket.io
  • sorting and filtering lot's of data
  • implementing working UI fast with react
  • creating a seed of random users to test the app
  • working very fast with deadlines
  • working with team mates

What is this project ?

This is a dating app that has 4 main features :

1. User Features

A user can register. A mail of confirmation is send to validate his registration. A user can login. A user can modify his information and password once login. A user can reset his password if he forgets it with his mail address. A user can : upload photos, define a profile picture, define his bio, define his age, define his sex and sexual orientation, define tags to better describe him and others...

2. Matching and Public Profiles of other Users

A selection of user profiles is proposed to the connected user according to his parameters (sex, geographic proximity, interests in common, fame score). He can click on each users to consult their profiles. Each profile is likable, blockable, reportable and dislikable.

3. Search Engine (sorting and filtering)

You can search for specific user according to specific tags, geographic proximity, age and fame. You can also sort the selection through these properties.

4. Notifications and Chat

Once two users have liked each other (match) their pictures appear in the user selection of the chat page and they can exchange messages (they can chat). Notification system is in place : a user receives a notification if :

  • a user consult your profile
  • a user likes your profile
  • a user sends you a message
  • a user dislike your profile

For more information about the project please see the pdf subject available in french and english at subject.

How do I run it on my laptop ?

You will need docker running on your machine.

####Setup the environement varibales

  • Within the root path
# environment variables
cp .env-template .env
  • Navigate to /backend path
# environment variables
cp .env-template .env
  • Navigate to /frontend path
# environment variables
cp .env-template .env

####Build the containers

In the root path

docker-compose up --build

Note : the port 80 must not be used by another application (like Apache or Skype).

P.S : The build may take some time don't worry be happy and grab a cup of tea :)

Once the containers started. Navigate to frontend to start the server.

npm start

P.S : npm version 6.7.0

####List of links

si.matcha.local:3000 -> backend ( REST API )
app.matcha.local:8083 -> frontend
phpmyadmin.matcha.local:8080 -> phpMyAdmin

alt text

dating-site's People

Contributors

vlhomme avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.