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.
- JWT-based secure login
- Profile customization with avatars
- Protected routes with middleware
- Smart recommendations and real-time notifications
- Advanced search by language, location, and interests
- Friend request management with tracking
- Instant messaging powered by Stream Chat
- Typing indicators, message reactions, and persistence
- 1-on-1 HD video calls with professional controls
- Integrated from the chat interface
- 32 themes with DaisyUI
- Fully responsive design
- Dark/Light mode with smooth animations
- React | Vite | TailwindCSS | DaisyUI
- State management with Zustand
- Node.js | Express | MongoDB
- JWT Authentication | Real-time integration with Stream
π Frontend
βββ π¨ TailwindCSS + DaisyUI
βββ π Zustand for state management
βββ π‘ API management with TanStack Query
π Backend
βββ π JWT Authentication & Authorization
βββ ποΈ MongoDB with Mongoose ODM
βββ π¬ Stream Chat & Video SDK
git clone https://github.com/its-pratyushpandey/Matefy.git
cd Matefy
npm install && cd backend && npm install && cd ../frontend && npm install
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
VITE_STREAM_API_KEY=your_api_key
# Backend (http://localhost:5001)
cd backend && npm run dev
# Frontend (http://localhost:5173)
cd frontend && npm run dev
- Add it to
frontend/src/constants/index.js
:
export const THEMES = [..., { name: "custom-theme", colors: ["#primary", "#secondary"] }];
- Add it in
tailwind.config.js
:
daisyui: { themes: ["custom-theme"] },
Update frontend/src/constants/index.js
:
export const LANGUAGES = [..., "New Language"];
export const LANGUAGE_TO_FLAG = { "new language": "flag-code" };
# Backend
cd backend && npm test
# Frontend
cd frontend && npm test
npm i -g vercel
vercel --prod
npm i -g @railway/cli
railway deploy
- JWT tokens with HTTP-only cookies
- CSRF Protection and password hashing
- Rate Limiting and CORS configuration
- Fork the repo and create a branch:
git checkout -b feature/your-feature
- Write code and tests
- Commit changes:
git commit -m 'Add feature'
- Push and create a PR
- Email: support@matefy.app
- Discord: Join
- Issues: GitHub
Matefy is licensed under the MIT License. See LICENSE.
Made with β€οΈ by the Matefy Team
Breaking language barriers, one conversation at a time π