Chance Spradley

arrow_backprojectschevron_rightchat-app

Chat App

A real-time chat application for users, using the MERN stack.

React
JavaScript
Express
MongoDB

I decided to try and tackle making a real time chat application with users, channels, friends, and messages. I haven't finished everything I wanted but it was a good learning experience. I hope to add notifications and read receipts, which are technically there but need refinement, along with most of the project.

Focuses

  • Scalability

  • Cyber-Security

  • UX/UI

  • Learn Web Sockets and Express

  • Object-Oriented Programming

    • Abstraction

  • The scope of this project may have escaped me

What I Learned

  • MongoDB & Mongoose

    • NoSQL!

    • Populating fields

  • Redis

    • I used Redis to handle storing data about connected clients for the server to consume

    • Allows for multiple server shards to act on the same clients

  • Node.js & Express

    • Routes, routers, http protocol, headers, caches, CORS, so so so much more

    • API endpoints and the REST framework

    • WebSockets

    • REST

    • .env Secrets

    • GitHub

  • Authentication & Cookies

    • How to use cookies to authenticate users with JWT

    • Session management

  • React

    • Using AJAX to manage component state

    • UX/UI Design

    • Client-side rendering

https://devmaxcat.net