Snapgram is a dynamic chat application designed to facilitate user communication through a real-time chat system. This application consists of a robust backend developed with FastAPI and a responsive frontend created using Next.js with TypeScript and Vite.
- Robust user authentication flow in the backend with FastAPI.
- Secured login system with options for email and password.
- Automated email verification during the registration process using Mailtrap.
- Users can initiate private chats with other users.
- Chat history is stored and can be retrieved anytime.
- Users can create group chats.
- Functionality to add or remove participants.
- Real-time updates in group chats for all participants.
- Notifications for new messages, chat invitations, and more.
- Real-time updates without needing to refresh the page.
- Simple and secure login interface.
- Option for password recovery and email verification resend.
- Real-time chat functionality.
- Supports sending text, images, and files.
- Users can update their profile information.
- Settings to manage account security and chat preferences.
- Next.js 14
- FastAPI
- TypeScript
- Vite
- MongoDB
- Tailwind CSS
- Socket.io
- Vercel (Frontend Deployment)
- Heroku (Backend Deployment)
- Mailtrap
This project is licensed under the MIT License - see the LICENSE file for details.