Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Chat Program
branch: master
Failed to load latest commit information.
client Resetting back to original layout for the BEGINNERS TO CODE
server
.gitignore Added a .gitignore file to ignore *.pyc
README.md Typo fix
TODO.md Created skeleton TODO file.
main.py Resetting back to original layout for the BEGINNERS TO CODE

README.md

The Learners of the Python Forum

chat-program

The Learners of the Python Forum chat-program is a project that has been created to provide a common interest task for members of the http://www.python-forum.org/ forums. We aim to create a multiuser client/server application that will allow users to communicate using various front and back ends. The primary goal of the project is for all participants to learn something new and fun using the Python programming language and various third party packages.

The Python version we will use for development is 2.7.3. To begin with, some members will be using Twisted (http://www.twistedmatrix.com/), an event driven networking engine. Others will choose to write their own networking code using the included sockets module.

Visit the following link to get involved! http://www.python-forum.org/pythonforum/viewtopic.php?f=7&t=34372

Tasks

General decisions to be made:

How to handle user authentication.
How to store user information.
Generic features: Status' (Op, Mod, User, etc)
                      There are several modes that can be set on a user:
                        o = Owner, all privileges
                        a = Admin, most privileges (except for changing Admin flags)
                        m = Moderator, most Admin privileges except for changing Admin and Banned flags
                        t = Trusted, just a mark of respect
                        q = Quiet, can only speak in asides
                        s = Silent, cannot talk at all
                        b = Banned.
                  Banning capability (By Username, IP Address, etc)
                  ?? Add More Here ??
Determine how many and what kinds of back ends (Telnet, SSH, HTTP, etc)
Determine how many and what kinds of front ends (Telnet, SSH, HTTP, Pygame, Tkinter, etc)
?? Add more front/back ends ??
?? Add more general decisions to be made ??

server.py - The server backend:

Develop an IO loop that will allow connections from all the various back ends.
Determine any logging/statistical capabilities
Determine (per above) authentication, user information handling.
??  Add more for server development ??

client.py - The client frontend:

Determine the type of front end:
    Generic Telnet connection
    SSH connection
    Web interface
    Graphical interface (PyGame, Tkinter, etc)
?? Add more for client development ??
Something went wrong with that request. Please try again.