Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/fiereeinar/messenger-app

A full-stack messaging application made with React, Express, MongoDB, Nodejs, and Tailwind
https://github.com/fiereeinar/messenger-app

expressjs mongodb mongoose nodejs reactjs tailwindcss

Last synced: 27 days ago
JSON representation

A full-stack messaging application made with React, Express, MongoDB, Nodejs, and Tailwind

Awesome Lists containing this project

README

        

# Messenger App

A full-stack messenger application designed to provide seamless communication.

Backend Code - [Github Repository](https://github.com/FiereEinar/messenger-app-backend)

![app shocase]()

# Signup page

![alt text](public/signup.png)

# Global Chat

![alt text](public/global.png)

# User Profile

![alt text](public/profile.png)

## Features

- User authentication (Log in & Sign up)
- Send and manage text messages
- Image sharing capabilities
- Group creation and management
- User connection and interaction
- Global chat functionality
- Comprehensive account management

## Technologies Used

### Frontend

- Javascript
- React
- Tailwind
- Vite
- Shadcn
- Vercel

### Backend

- Express
- Nodejs
- MongoDB
- Mongoose
- Cloudinary
- Vercel

## Libraries Used

### Frontend

- [react-hook-form](https://www.npmjs.com/package/react-hook-form) – Simplifies form states, errors, and validations.
- [react-router-dom](https://reactrouter.com/en/main) – Contains bindings for using React Router in web applications.
- [zod](https://zod.dev/) – Schema validation for forms.
- [@tanstack/react-query](https://www.npmjs.com/package/react-query) – Querying requests for better performance.
- [axios](https://axios-http.com/docs/intro) – A promise-based HTTP Client for node.js and the browser.
- [date-fns](https://date-fns.org/docs/Getting-Started) – Provides the most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates

### Backend

- [PassportJS](https://www.passportjs.org/) – Authentication middleware for Express.
- [bcryptjs](https://www.npmjs.com/package/bcryptjs) – For securing passwords by hashing and salting.
- [jsonwebtoken](https://www.npmjs.com/package/jsonwebtoken) – A proposed Internet standard for creating data with optional signature and/or optional encryption.
- [dotenv](https://www.npmjs.com/package/dotenv) – For keeping my database connection strings and API keys secret.
- [express-validator](https://www.npmjs.com/package/express-validator) – User input validation middleware.
- [cloudinary](https://cloudinary.com/) – Used for uploading/storing images
- [multer](https://www.npmjs.com/package/multer) – Node.js middleware for handling multipart/form-data, which is primarily used for uploading files.
- [express-async-handler](https://www.npmjs.com/package/express-async-handler) – Asynchronous exception-handling middleware.
- [cors](https://www.npmjs.com/package/cors) – Package for providing a Connect/Express middleware that can be used to enable CORS
- [streamifier](https://www.npmjs.com/package/streamifier) – Converts a Buffer/String into a readable stream