Share your repls and programming experiences

← Back to all posts
Python-based chatroom with user authentication and backups!
MarcusWeinberger (51)

client: https://repl.it/@MarcusWeinberger/chat / https://chat.marcusweinberger.repl.run
server: https://repl.it/@MarcusWeinberger/chatroom

What's unique about this chatroom (and server) is this:

* Users authenticate with a username and password
        - These are backed-up along with all messages
        - Passwords are hashed, salted, and hashed again for secure storage
        - Your display-name is also your username =
    (this means no-one can impersonate you unless you delete your account, which is also a feature)

* Messages are timestamped 
        - This happens server-side, so it's impossible to fake timestamps

* Backups of user accounts and all messages happen every 2 minutes
        - This is just the default, if you want, you can change the timer, or disable backups alltogether!

* Customizable client formatting
        - You can display the chat in any format you want (requires forking the client)

* Object-oriented, readable code
        - Alter the server or client in any way you like

* Client commands
        - Starting with '/', these commands allow you to re-view old messages, server backup logs, and more!

Anyway, I'll probably add more features, as this was developed in a hurry. If you find any bugs or vulnerabilities, please let me know!

Commentshotnewtop
zhidao (2)

you should make a admin part to kick abuse people

MarcusWeinberger (51)

@zhidao Admin user is now built-in with a preset password. The admin account has abilities to remove users, messages, and to manually save the chat