Welcome to the backend repository of Mazrof! 🚀 This platform is designed to provide users with a seamless, secure, and fun way to communicate, manage their profiles, and share content. Below is an overview of the core features that power Mazrof.
Our platform offers a secure and easy-to-use authentication system. Users can:
- Register with email and phone number, with email verification 📧.
- Login using email/password or third-party options like Google, Facebook, and GitHub 🔑.
- Easily recover their password via email 🔄.
Once logged in, users can personalize their experience by:
- Updating profile pictures, bios, username, and screen name 🎨.
- Control privacy settings for profile visibility, block/unblock users 🚫, and manage read receipts ✅.
The messaging experience is rich and fully customizable:
- Send text messages, voice notes, GIFs, stickers, and emojis 🗨️✨.
- End-to-end encryption ensures all messages are secure 🔒.
- Share images, videos, and documents 📸🎥📑 with customizable file size limits.
- Self-destructing messages for extra privacy 🕒.
- Easily edit or delete sent messages ✏️❌.
Advanced features include:
- Pin important messages, search for specific messages, and sync drafts across devices 🔎📱.
Manage groups and channels like a pro! 👑
- Create and manage groups and broadcast channels 🧑🤝🧑📢.
- Admins can set privacy (Public/Private) and manage roles 🛠️.
- Send announcements and mute notifications for groups or channels ⛔.
- Invite users via links and forward content between groups and channels 🔗.
Stay connected with high-quality voice calls:
- One-on-one and group voice calls with end-to-end encryption 🎤🔐.
- Mute/unmute functionality during calls and manage call logs 🕑.
Notifications ensure you never miss anything important:
- Receive push notifications for new messages, mentions, and missed calls 📲.
- Mute notifications for specific chats, groups, or channels 🔕.
- Track unread messages across all conversations 🔴.
We take security seriously:
- View active sessions and terminate suspicious devices remotely 🔍🚫.
- Secret chats: End-to-end encrypted messages that aren’t stored in the cloud ☁️🔒.
- Use self-destruct timers for messages and media 🕰️.
- AI-powered content filters for inappropriate text and media in group chats 🤖🛑.
The platform supports rich media sharing:
- Share images, videos, and documents (PDFs, DOCX, etc.) 📷🎞️📄.
- Play audio and video files directly in the app with an in-app media player 🎶🎥.
- Option to compress or send full-size media depending on your needs 📉📏.
These instructions will guide you on setting up the project locally for development and testing purposes.
Before you begin, ensure you have the following installed on your machine:
- Node.js (v16 or higher) - Download here
- npm (v8 or higher) - usually installed with Node.js
- Git (optional, for cloning the repository) - Download here
-
Clone the repository:
git clone https://github.com/Mazrof/back.git cd back
-
Install dependencies:
npm install
-
Run Prisma commands:
npx prisma generate
npm run start-dev
- Runs the app in development mode.npm start
- Starts the app in production mode.
We are grateful to the following contributors who have made this platform possible:
- Abdelrahman Mohamed Abdelaty – Team Leader 👨💻
- Ahmed Elsayed – member 💻
- Omar Hashem – member 💻
- Mazen Adel – member 💻
We’re thrilled to have you onboard and look forward to seeing how you contribute to making this platform even better! 🎉