Akmessage is a modern, real-time chat application that i built for CS50 final project with Flask, Flask-SocketIO, and SQLAlchemy.
It supports private and group conversations, file sharing, and voice messages—all in a clean, responsive interface.
Video Demo: https://youtu.be/Okqn_LsiQXs?si=jiYDmXA59JAeiHGr
-
User Registration & Login
Secure authentication with password hashing. -
Private & Group Chats
Start one-on-one or group conversations with other users. -
Real-Time Messaging
Instant message delivery using Flask-SocketIO. -
File Sharing
Send images, documents, and more in your chats. -
Voice Messages
Record and send voice messages directly from your browser. -
Responsive UI
Works great on desktop and mobile.
- Backend: Flask, Flask-Login, Flask-SocketIO, Flask-Migrate, SQLAlchemy
- Frontend: Bootstrap 5, Jinja2 templates, JavaScript (Socket.IO)
- Database: SQLite (default, easy to swap)
-
Clone the repository
git clone https://github.com/YOUR-AKXtreme/akmessage.git cd akmessage -
Create a virtual environment
python3 -m venv venv source venv/bin/activate -
Install dependencies
pip install -r requirements.txt
-
Set up the database
flask db upgrade
-
Run the app
python app.py
Visit http://127.0.0.1:5000 in your browser.
akmessage/
│
├── app.py
├── models.py
├── requirements.txt
├── static/
│ └── uploads/
├── templates/
│ ├── base.html
│ ├── index.html
│ ├── login.html
│ ├── register.html
│ ├── conversations.html
│ ├── conversation.html
│ └── start_conversation.html
└── README.md
Pull requests are welcome!
For major changes, please open an issue first to discuss what you would like to change.
MIT License
Made with ❤️ using Flask and Socket.IO