Coder Social home page Coder Social logo

python-chat-app's Introduction

Python Chat App

A GUI python chat app with encryption, notifications and profile pictures

image image image

Features

  • Encryption (with tag verification and nonce)
  • Profile Pictures
  • GUI interface
  • Logins saved between server reboots
  • Hashed passwords
  • Profile Pictures saved between server reboots
  • Server logs
  • Native notifications on Windows
  • Sounds throughout the app

Running the files

  1. Start the server.py file on a pc
  2. Note the IP address of the pc (note you may need to diffrentiate between local and public, use 127.0.0.1 if client is same pc as server)
  3. On the client.py file change line 15
host = "Your host ip" # NOTE: If you are hosting the server yourself change the ip to whatever is appropriate
  1. (If required) change the port on both server and client files, lines 318 and 17 respectively (note 8000 and 8001 will clash with the client webserver, so avoid them). If changing port restart the server.py file
  2. Start the client.py file on the client pc
  3. Follow screen prompts to sign in and chat!

Notes

  • If the login and profile picture files are not present when the code is run, they will be created. This means that you can reset logins by deleting those files
  • Key exchange is not secure, everything after is
  • Each client has a unique key
  • See requirements.txt for dependencies

Creating Executables with PyInstaller

  1. First download PyInstaller pip install PyInstaller
  2. Navigate to the directory where the files are saved
  3. Run python -m eel Client.py web
  4. Once you are happy with the output you may run again but with the arguements, python -m eel Client.py web --onefile --noconsole

Acknowledgements

Login page (most design):
Copyright (c) 2021 by Mehdi Aroui (https://codepen.io/mehdiaroui/pen/jJgPvj)
Chat windows (only some GUI features):
Copyright (c) 2021 by Fabio Ottaviani (https://codepen.io/supah/pen/jqOBqp)

If this repository has helped you, consider starring

python-chat-app's People

Contributors

hackintoshwithubuntu avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

python-chat-app's Issues

Build of client doesn't run

Gives error when attempting to open the compiled exe file in /dist

image

Traceback (most recent call last):
File "Client.py", line 3, in
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "eel_init
.py", line 15, in
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 352, in exec_module
File "bottle.py", line 73, in
AttributeError: 'NoneType' object has no attribute 'write'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.