Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haminimi/messaging-app

The messaging app includes authentication and authorization functionality using JWT, following Jamstack architecture.
https://github.com/haminimi/messaging-app

authentication authorization express jamstack jwt messaging-app mongodb nodejs react theodinproject

Last synced: 25 days ago
JSON representation

The messaging app includes authentication and authorization functionality using JWT, following Jamstack architecture.

Awesome Lists containing this project

README

        

# ChitChatHub - Messaging App
![Screenshot of the ChitChatHub app.](/screenshot.png)
## Description
The messaging app includes authentication and authorization functionality using JWT, following Jamstack architecture. [The project](https://www.theodinproject.com/lessons/nodejs-messaging-app) is a part of [The Odin Project](https://www.theodinproject.com/dashboard)'s Node course within [The Odin Project](https://www.theodinproject.com/dashboard)'s curriculum. The Odin Project provides a high quality web development education maintained by an open source community.
## Live Preview and Backend
You can check out [the app here](https://messaging-app-rosy.vercel.app/), and [the backend code here](https://github.com/Haminimi/messaging-app-backend).
If you don't want to create a new account, you can log in with these credentials:
```js
[email protected]
Password123!
```
## Main Features
- **Jamstack**
- **Auth with JWT**
- **Profile Customization**

**To Do:**
- [ ] **Sending Media**
- [ ] **Show Online Friends**
- [ ] **Group Chats**
- [ ] **Friend Requests**
- [ ] **Updating Password**
- [ ] **Responsive Design**
## Tech
**The project is built with:**
- React
- Node.js/Express
- MongoDB
- Vanilla CSS

**Tools**
- Visual Studio Code
- Git
## Covered Topics
**This section mentions the main topics covered during project work and prior lessons**
- Jamstack
- SPA / React Router
- Authentication and Authorization / JWT
- Password Hashing
- REST API
## Reflection
The project provided a great practice in authentication, authorization, REST API, connecting the frontend with the backend, working with MongoDB, and various other topics. There is a lot of space for expanding the app, however, I am very satisfied with the outcome and everything that I have picked up along the course of the project.

Note on JWT verification: Even though it is inconsistent approach, I have used both the Passport JWT strategy and custom JWT verification for the purpose of practice.

## Credits
- Icon used for the favicon image is one of the [Email icons created by Pixel perfect - Flaticon](https://www.flaticon.com/free-icons/email).
- [User icons created by Smashicons - Flaticon](https://www.flaticon.com/free-icons/user)
- [User icons created by kmg design - Flaticon](https://www.flaticon.com/free-icons/user)
## Happy coding!