Skip to content

Nyumat/TalkToBeavs

Repository files navigation

TalkToBeavs

TalkToBeavs 🦫

TalkToBeavs is a real-time chat application that allows users to communicate with each other through text, audio, and video. It is limited to Oregon State University students and faculty, but provides a fun and easy way to connect with other Beavers! Check it out here. 🚀

Getting Started

How to run the project locally:

  1. Clone the repository
  2. Install dependencies
  3. Get environment variables
  4. Run the project

1. Clone the repository

git clone https://github.com/Nyumat/TalkToBeavs.git

2. Install the dependencies

cd TalkToBeavs/frontend
npm install # or yarn, pnpm, etc.
cd ..
npm install

3. Set the environment variables

Note: You will need to create a MongoDB database and a Giphy API key.

Frontend:

# Create a .env file in root of the frontend directory
VITE_APP_PROD_BACKEND_URL="http://localhost:[PORT BACKEND IS RUNNING ON]"

Backend:

# Create a .env.local file in the root directory
touch .env.local

# Your .env.local file should look like this:
PORT=
MONGODB_URI=
FEED_ID=
JWT_PRIVATE_KEY=
GIPHY_API_KEY=

# Don't forget to add your own values!

4. Run the project

# Run the frontend
cd frontend
npm run dev

# Open a new terminal window and run the backend
cd TalkToBeavs (root directory)
npm run dev

TalkToBeavs is proud to be built with:

  • React
    • JavaScript library for building user interfaces
  • MongoDB
    • NoSQL document database
  • Vite
    • Build tool for frontend development
  • Socket.io
    • Real-time communication between client and server
  • Redux Toolkit
    • Flux-like state management library
  • Express
    • Web application framework for Node.js
  • WebRTC
    • Peer-to-peer video and audio communication in the browser
  • Chakra UI
    • Simple, modular, and accessible component library
  • React Router
    • Declarative routing for React
  • Giphy API
    • API for searching and retrieving GIFs