Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

490 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MATCHA

Matcha is a full-stack web application developed as part of the 42 curriculum. The project consists of building a dating-style platform where users can create profiles, browse and match with other people, and exchange messages. It focuses on implementing user authentication, matching logic, real-time interactions, and secure data management.

Try it

1. Clone the repository

2. Build the project

make up

3. Browse to Matcha

https://localhost:8081/

Features

- User registration and secure authentication.

- Profile creation and editing (photos, bio, interests, preferences)

- User discovery with filtering and sorting options.

- Like / match system between users

- Real-time chat between matched users

- Notifications for likes, matches, and messages

- Profile popularity and interaction tracking

- Account verification and basic security measures

Screenshots

- Landing page -

- Profile creation -

- Profile -

- Home -

Socketio endpoints documentation

  • event: "connect": only works if the user is already logs
  • event: "chat": required {user_id: "target", "content": "message"}
  • event: "ping": return a "pong" event, only to test connection
  • event: "online": send to a client to inform that an user is online {"user_id": "user_online"}
  • event: "offline": send to a client to inform that an user is offline {"user_id": "user_offline"}
  • event: "like": send to a client to inform that an user liked him {"user_id": "user_who_liked"}
  • event: "unlike": send to a client to inform that an user unliked him {"user_id": "user_who_unliked"}
  • event: "view": send to a client to inform that an user viewed him {"user_id": "user_who_viewed"}
  • event: "match": send to a client to inform that an user is in a match {"user_id": "user_match"}
  • event: "message": send to a client to inform of a message from an user {"user_id": "from_id", "content": "message"}

When a user is successffully ot a socketio endpoint, the list of all currents matched connected user will be send by "online" events.

Blocked user won't have notifications.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages