Skip to content

ThanhSon00/backend-project-2

Repository files navigation

Chat Application

This project for person who wants to have an application that has features such as send, receive message, create group, add friend, change personal information

Logo

Badges

MIT License GPLv3 License AGPL License

Author

Demo

https://chat-application-09xl.onrender.com

Using these accounts or your Google Account to log in:

[email protected]

[email protected]

[email protected]

[email protected]

Password: 123456

Note: Unable to use reset password feature when using these testing account above

Features

  • Light/dark mode toggle
  • Send, receive message in real-time
  • Add friend, create group
  • Display online status
  • Change personal avatar, title
  • Login with short or long session
  • Reset password
  • Support Google login

Screenshots

App Screenshot

App Screenshot

App Screenshot

App Screenshot

Tech Stack

Client: HTML, CSS, Javascript

Server: NodeJS, ExpressJS, MongoDB

Feedback

If you have any feedback, please reach out to me at [email protected]

Lessons Learned

NoSQL

I had first approach to NoSQL database (MongoDB), knew some popular terminologies such as document, subdocument, schema, .... Having basic knowlegde about relationship in document database. For related ORM, I had got that using subdocument and pre-hook would benefit of flexible structure of schema.

Security

Beside access and refresh tokens, I had first time to implement "remember token" for maintaining long session.

Using "Lock Token" for temporary attribute of reset password link.

Realtime

I used Socket.io library as for features working in realtime.

Acknowledgements

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published