THIS IS A WORK IN PROGRESS, FEATURES MAY BE MISSING.
A chatroom website written in Node.js using Socket.IO for communication between clients. Express.js and the Node.js implementation of SQLite are used for a login system allowing users to register, login, edit, and delete an account at any time. Passwords are hashed using bcrypt so they are stored securely in the database.
π’ = Fully working | π‘ = Partly working/in progress | π = To be added | π΄ = Broken
- Database π’
- Sign Up π’
- Sign In π’
- Session management system π’
- Homepage π’
- Edit account π’
- Delete account π’
- Remember me π’
- Two-step verification π
- Mobile support π’
- List of connected users π’
- Message displayed on joining/leaving chat π’
- Sending and receiving messages π’
- Previous chat history displayed on joining π’
- 250 character limit on messages π’
- Administrator accounts with ban and delete powers π
- Different chatrooms π
- Changing username updates it in chat logs π
- Deleting account updates it to "DELETED" in chat logs π
- Session renewal on a regular basis π
- Node.js v17 or newer
- NPM package manager
- Git
git clone https://github.com/chasc0des/nodejs-login-chat-app.git
cd nodejs-login-chat-app
npm install .
npm start
By default, the program can be accessed on http://localhost:8080
or from another machine on your network, http://<YOUR IP ADDRESS>:8080
.