GoatChats README Project Description
This project is a real-time chat application that allows users to join different chat rooms and engage in conversations. The application is built using React for the frontend and Node.js for the backend, providing a seamless and interactive user experience. You can access the project here.
The application features a login component, a selection page for chat rooms, and the chat interface itself. Users can select a chat room of their choice and start chatting instantly. The chat messages are rendered in real-time, and the application also supports fetching historical messages. Additional Instructions
To fully utilize this project, you'll need to log in using GitHub OAuth. Once logged in, you'll be redirected to the selection page where you can choose a chat room to join. You must hit the submit button to send a message Technologies Used
React: Used for building the frontend, particularly the chat interface and room selection.
Node.js: Backend logic, including real-time message handling.
Socket.io: For real-time communication between the client and server.
GitHub OAuth: For user authentication.
Pigeon Maps: React map without external dependency
Challenges Faced
One of the most challenging aspects was implementing real-time messaging while also fetching historical messages. This required a deep understanding of both frontend and backend technologies, as well as real-time communication protocols. Another challenge was managing state in React, especially when dealing with real-time updates. Group Members' Responsibilities
David: Created the interactive map and hosted the server.
Colin: Created the chatroom and http server/websocket logic
Addy: Implemented user authentication and backend logic
Project Video https://youtu.be/xLmlKp6n8_o
You can view a demo of the project at http://66.189.31.92:3000.