Giter Club home page Giter Club logo

monkey-app-clone's Introduction

Monkey App Clone ๐Ÿ’

This project is a minimal clone of the Monkey App, a social media app that allows users to chat with random people. It uses a variety of technologies including ReactJS for the frontend, Redux Toolkit for state management, PeerJS for WebRTC, React useWebSocket, BunJS for the backend, and Docker for containerization and orchestration.

A live demo of the application can be accessed at: https://monkey.misterneo.pro

Table of Contents

Description

The Monkey App Clone is a project that aims to replicate the functionality of the Monkey App. It allows users to engage in video chats using WebRTC technology. It also allows users to send text messages to each other using WebRTC DataChannel. The app is built using ReactJS for the frontend, Redux Toolkit for state management, PeerJS for WebRTC, React useWebSocket, BunJS for the backend, and Docker for containerization and orchestration.

Technologies Used

Prerequisites

Before running the app, ensure that BunJS is installed on your machine. Installation instructions can be found here. If you are unable to install BunJS, you can use the Docker Compose file to run the app with Docker.

Running the app

  • Clone the repository
git clone https://github.com/misterneo/monkey-app-clone.git
cd monkey-app-clone

Using BunJS

Running the backend

  • Go to the server directory
cd server
  • Install the dependencies
bun install
  • Run the app
bun run index.ts

This will start a WebSocket and HTTP server on port 3000.

Optionally:

You can Specify the port using the --port flag, e.g., bun run index.ts --port 5000. Enable debug mode using --debug flag, e.g., bun run index.ts --debug.

If you decide to change the default port, you will need to update the VITE_SERVER_PORT variable in the .env.local file in the client directory. You can do that by copying the .env.example file and renaming it to .env.local. Then, update the VITE_SERVER_PORT variable to the port you specified.

Running the frontend

  • Go to the client directory
cd client
  • Install the dependencies
bun install
  • Run the app
bun run dev

This will start the app on port 5173. Navigate to http://localhost:5173 to view the app.

Using Docker Compose

  • Run the following command at the root of the project to start the app:
docker compose up -d --build

Wait for the app to start. This may take a few minutes the first time you run the command.

Navigate to http://localhost:5173 to view the app.

  • To stop the app, run the following command:
docker compose down

Contributing

Contributions are welcome. Feel free to open a pull request or submit an issue.

License

This project is licensed under the MIT license. See the LICENSE file for more details.

monkey-app-clone's People

Contributors

misterneo avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.