A Real Time Chat Application built using Node.js, Express, MYSQL , Socket.io, JWT
- Uses Express as the application Framework.
- Manages authentication using express jwt package.
- Passwords are hashed using md5 package .
- Real-time communication between a client and a server using Socket.io.
- Uses Sequelize ORM for storing and querying data to MYSQL.
-
- After User Logging to the system , he can see all users in the system.
-
- Can define each user is online or offline.
-
- User can messaging with any user in the system , see all previous messages (private messages).
-
- When user send a new message to another user , he get notification that he has a new message.
-
- When user send message to another one and that one is offline , get get notification after login agian that he has new message from sender user.
- make sure you have mysql , node js and npm installed in your operation system .
- Create new database named chat .
- Clone or Download the repository
git clone https://github.com/amirhamdy4b/real-time-chat.git
- Install Dependencies
npm install
npm install sequelize-cli -g
- Edit configuration file in config/dbconfig.json with your credentials.
- run migrations to create tables in database.
* sequelize db:migrate --config config/dbconfig.json
- run seeds to insert 5 new user in database to be used in the system.
* sequelize db:seed:all --config config/dbconfig.json
- Start the application
* npm start
Your app should now be running on localhost:3000.