Skip to content

Matefy is a collaborative app that enables users to connect with friends through integrated real-time chat and video calling features, fostering seamless teamwork and communication.

Notifications You must be signed in to change notification settings

its-pratyushpandey/Matefy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 Matefy - Global Language Exchange Platform

Connect β€’ Learn β€’ Grow Together

React Node.js MongoDB Express Stream TailwindCSS DaisyUI

Demo Screenshot


πŸš€ Live Demo Coming Soon | πŸ“– Repository


✨ About Matefy

Matefy is a global language exchange platform fostering real-time connections through chat and video calls. It’s built to help learners:

  • Connect with native speakers 🌐
  • Learn cultural nuances πŸŽ“
  • Grow international friendships 🀝

Mission: Breaking down language barriers, one conversation at a time.


πŸš€ Key Features

πŸ” Authentication

  • JWT-based secure login
  • Profile customization with avatars
  • Protected routes with middleware

πŸ‘₯ Friend System

  • Smart recommendations and real-time notifications
  • Advanced search by language, location, and interests
  • Friend request management with tracking

πŸ’¬ Messaging

  • Instant messaging powered by Stream Chat
  • Typing indicators, message reactions, and persistence

πŸ“Ή Video Calling

  • 1-on-1 HD video calls with professional controls
  • Integrated from the chat interface

🎨 UI/UX

  • 32 themes with DaisyUI
  • Fully responsive design
  • Dark/Light mode with smooth animations

πŸ› οΈ Tech Stack

Frontend

  • React | Vite | TailwindCSS | DaisyUI
  • State management with Zustand

Backend

  • Node.js | Express | MongoDB
  • JWT Authentication | Real-time integration with Stream

Architecture

πŸ“ Frontend
β”œβ”€β”€ 🎨 TailwindCSS + DaisyUI
β”œβ”€β”€ πŸ”„ Zustand for state management
└── πŸ“‘ API management with TanStack Query

πŸ“ Backend
β”œβ”€β”€ πŸ” JWT Authentication & Authorization
β”œβ”€β”€ πŸ—„οΈ MongoDB with Mongoose ODM
└── πŸ’¬ Stream Chat & Video SDK

⚑ Quick Start

1️⃣ Clone & Install

git clone https://github.com/its-pratyushpandey/Matefy.git
cd Matefy
npm install && cd backend && npm install && cd ../frontend && npm install

2️⃣ Environment Setup

Backend (backend/.env)

PORT=5001
MONGO_URI=mongodb://localhost:27017/matefy
JWT_SECRET_KEY=your_secret_key
STREAM_API_KEY=your_api_key
STREAM_API_SECRET=your_api_secret

Frontend (frontend/.env)

VITE_STREAM_API_KEY=your_api_key

3️⃣ Run the App

# Backend (http://localhost:5001)
cd backend && npm run dev

# Frontend (http://localhost:5173)
cd frontend && npm run dev

πŸ“± Screenshots

🏠 Dashboard

Home Page

πŸ’¬ Real-time Chat

Chat

πŸ“Ή Video Calling

Video Call

πŸ‘₯ Friends Management

Friends Page

πŸ”” Notifications

Notifications

🎨 Themes

Themes


πŸ”§ Customization

Add a New Theme

  1. Add it to frontend/src/constants/index.js:
export const THEMES = [..., { name: "custom-theme", colors: ["#primary", "#secondary"] }];
  1. Add it in tailwind.config.js:
daisyui: { themes: ["custom-theme"] },

Add a New Language

Update frontend/src/constants/index.js:

export const LANGUAGES = [..., "New Language"];
export const LANGUAGE_TO_FLAG = { "new language": "flag-code" };

πŸ§ͺ Testing

Run Tests

# Backend
cd backend && npm test

# Frontend
cd frontend && npm test

πŸš€ Deployment

Vercel Deployment

npm i -g vercel
vercel --prod

Railway Deployment

npm i -g @railway/cli
railway deploy

πŸ›‘οΈ Security

  • JWT tokens with HTTP-only cookies
  • CSRF Protection and password hashing
  • Rate Limiting and CORS configuration

🀝 Contributing

  1. Fork the repo and create a branch: git checkout -b feature/your-feature
  2. Write code and tests
  3. Commit changes: git commit -m 'Add feature'
  4. Push and create a PR

πŸ“ž Support


πŸ“„ License

Matefy is licensed under the MIT License. See LICENSE.

Made with ❀️ by the Matefy Team

Breaking language barriers, one conversation at a time 🌍

⬆️ Back to Top

About

Matefy is a collaborative app that enables users to connect with friends through integrated real-time chat and video calling features, fostering seamless teamwork and communication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages