You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MessMe is an opportunity for me to enhance my programming skills and experiment with some new technologies that I've learnt recently (e.g. Strawberry, Apollo Client, Redis, WebSocket, WebRTC) as well.
Features
Authentication by normal approach or via Google (JWT token is stored in HttpOnly cookie)
One-to-one chat
Friend adding
Notifications for new messages, friend requests
Users suggestions
User's profile update
Message revoking
Online status indicator
Typing indicator
File attaching
Audio calling
Video calling
Group chat
Tech stack
Front-end
ReactJS
Apollo Client - GraphQL client & state management
TailwindCSS
Back-end
FastAPI
Strawberry - builds GraphQL server
Async SQLAlchemy
Databases
PostgreSQL - stores main data
MongoDB - stores messages
Redis - caching & pub/sub
Disclaimer
MessMe is designed to work well with laptop screens, so the UI may not be suitable on other screens.