Symfony User Auth/func + Chat
Project title: Symfony user authentication w/ functionalities + chat module
Framework: PHP, MySQL on Symphony 1.4, using Doctrine.
Expected time scale: 2-3 weeks
Future work: Upon satisfying delivery, we want to tie a long-term connection to the accepted programmer(s) for other projects related to the same framework/web site in the coming 3-4 months.
Project & functionality desription:
Users module, Functionality:
• User profile registration (form & authentication email to user, for confirmation and activation profile)
• User profile editing
• Login functionality (with session handling, global variables)
• “Remember me” functionality, based on cookie. Cookie to live on local machine until user is logging off manually.
• Backlog of every user login (on datetime/user_id and IP address)
• Registration of currently logged in users, to be retrievable on the personal user page (online/offline), in searches and a global list of logged-in users. NOTICE: Users must be able to modify in their profile whether they want this information to be shared (ie. their login session will be hidden to other users, but will still be registered)
• “User page”: showing the users’ profile details, friends list and recent chat messages.
• “Friends” functionality (users can add other users to a list of “Friends”)
• “My Friends” page: list of current friends + user search with option to remove/add friends
• “P2P Chat”: when logged in, users can initiate a P2P chat with their Friends (like the one on Facebook). These chats are to be logged (on date/time, user_id(poster), user_id(reciever), message, IP)
Users module, admin/backend
• User search (on profile name, email, real name). Viewing
• IP search
• User blocking (with instant effect on login session)
• IP blocking
• P2P Chat logs
Notice: A user database is already established, deciding the detail level of user registration. User table structure will be delivered upon project acceptance/initiation.
Chat module, Functionality
• User/login authentication (through users module)
• Support for multiple chat rooms (to be switched between through horizontal tab navigation on top of chat contents, ie. made in jQuery?)
• Logging of all chat messages (date/time, user_id, message, room, IP)
• Automatic refresh every 5 seconds, and upon user inserting new message
• Registration of users currently inside the chat module (not based on the above mentioned “currently logged in users” functionality) activity, but also registering silent users)
Chat module, admin/backend
• Access to daily log (separated into each room)
• Creation and deletion of chat rooms