Skip to content
A full stack chat application using Flask, Python, Javascript, C, and HTML/CSS.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Chat Server

This project reflects a conglomeration of a number of projects that I put together to built a full end to end chat server. The project includes 4 major parts:

  • Flask Web Application
  • Command line interface (text client)
  • Chat Server
  • File Server


  • To keep everything simple I designed this system to run in memory instead of in a database. User information is stored in a CSV where passwords are encrypted using Fornet.
  • The file server was written in C to speed up file upload and download times. All files are encypted and stored in user-files folder on client side(currently does not work in web app)
  • The Flask framework was used to built the front end web application with nessescary added javascript for parts like channel display.
  • I wrote the chat server and command line interface in python as it is my best language and was the quickest to develop.


  • Basic Chat
  • Channel Chat
  • Private messages and encrypted chat (CLI only)
  • Channel topic and set topic
  • Create account
  • Change password
  • Channel Admin privledges
  • Ban and block users (CLI only)
  • Upload, update, and download file (CLI only)

To run:

  • to come


  • Make web application and text client run similtaneously
  • Clean up decprecated code in
  • Finish Web application functionality
You can’t perform that action at this time.