Skip to content

mineawesomeman/final_project_cs4241

 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.8%
  • HTML 3.3%
  • CSS 0.9%