Skip to content

coleYab/Enawga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enawga

A real-time chat application built using Node.js, React, and WebSocket, where users can join different rooms and communicate instantly.

Table of Contents

Description

This project is a real-time chat application designed to enable users to join various chat rooms, exchange messages, and share their profiles with others. The app leverages WebSocket for instant messaging, providing users with a fast and engaging experience.

Features

  • Real-Time Messaging: Allows users to chat in real time within multiple rooms.
  • User Authentication: Google OAuth2.0 authentication.
  • User Profiles: Users can upload profile pictures and add a bio.
  • Responsive Design: The UI is optimized for both desktop and mobile devices.

Tech Stack

Frameworks and Libraries

Next.js React Node.js Express.js MongoDB Socket.io Google OAuth WebSocket

Environment Variables

To run this project, add a .env file in the root directory with the following environment variables:

PORT=5000
MONGODB_URI=<your_mongodb_cluster_uri>
JWT_SECRET=<your_jwt_secret>
NODE_ENV=development
CLIENT_ID=<your_google_client_id>
GOOGLE_SECRET=<your_google_secret>

Installation

To set up and run the project locally, follow these steps:

Backend Setup

  • Open Terminal 1 and run the following commands:
npm install        # Install backend dependencies
npm run server     # Start the backend server

Frontend Setup

  • Open Terminal 2 and run the following commands:
cd front-end       # Navigate to the frontend directory
npm install        # Install frontend dependencies
npm run build      # Build the frontend
npm run start      # Start the frontend server

The backend server will run on port 5000 by default, and the frontend server should run on the specified port in your configuration.

Authors

About

ALX SE specialization project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •