/messenger-app

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

Primary LanguageJavaScript

Messenger App

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

Backend Code - Github Repository

app shocase

Signup page

alt text

Global Chat

alt text

User Profile

alt text

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 – Simplifies form states, errors, and validations.
  • react-router-dom – Contains bindings for using React Router in web applications.
  • zod – Schema validation for forms.
  • @tanstack/react-query – Querying requests for better performance.
  • axios – A promise-based HTTP Client for node.js and the browser.
  • date-fns – Provides the most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates

Backend

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