PlaySho: Virtual Cinema for Shared Movie Nights ( Android Kotlin )
Tags: android, kotlin, socketio, e2ee
Published: 2024-02-29 09:31:28

Turn off those movie nights into immersive cinematic experiences with PlaySho! 🎬 You can watch the same video with your friends from anywhere. Create a virtual cinema, share a streaming link and enjoy synchronized playback to have unforgettable experience of watching a movie.

![screens of app](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d4muz5uqsxohtegpx4pq.PNG)

## Introduction
PlaySho is an app built on Kotlin that transforms the movie night experience using advanced technologies, like Socket.IO, end to end encryption, hybrid encryption and ExoPlayer. Its main goal is to create a cinema setting where users can watch a video together in sync no matter where they are.

By utilizing Socket.IO PlaySho allows real time communication between users to synchronize video playback seamlessly and foster a sense of unity among viewers. Additionally the use of end to end encryption ensures user data and communications are private and secure building trust in the platform.

Hybrid encryption methods add a layer of security by combining asymmetric encryption techniques to protect sensitive information shared within the app.

With ExoPlayer at its core PlaySho offers a captivating multimedia experience with video playback on devices and platforms. Its cross platform compatibility allows users to enjoy movie nights without limitations, on devices, tablets or desktop computers.
Moreover PlaySho provides movie theaters enabling users to customize their settings according to their liking and establish a setting that enhances the enjoyment of watching movies. Through bringing people across distances and enabling shared entertainment PlaySho seeks to transform how users interact and bond with their friends and family during movie gatherings.

---

## Key Features:

### 🎥 Virtual Cinema:

Set up your own private cinema room and have a shared movie night with friends.

### 🍿 Single Video Playback:

For that cinema-like feel, you can stream one video synchronously.

### 🔗 Stream Link Sharing:

Create a special stream link and invite your friends to join in your virtual theatre.

### 💬 Real-Time Interaction:

Chatting and sharing reactions among friends gives an opportunity to watch movies socially.

### 📱 Cross-Platform Accessibility:

Use PlaySho on different gadgets, be it smartphone, tablet or desktop computer to have an adjustable and joyful movie night.

### 🌐 Stay Connected:

Have common movie minutes with friends and family who are in different geographical locations.

---

## 🛠️ How It Works:

1. **Create Cinema Room:**
   - Set up a virtual cinema room that can be altered to suit the right mood for a perfect movie night.

2. **Choose Your Movie:**
   - Choose one video that will be enjoyed by all people together.

3. **Generate Stream Link:**
   - Share a unique streaming link with your buddies.

4. **Watch Together:**
   - Experience the magic of synchronized playback as you watch a single video together in real-time.

---

## 🌟 Why PlaySho:

- **Virtual Movie Nights:**
  - Make shared film nights feel like you are actually at the theatre or cinema hall

- **Synchronized Playback:**
  - Have perfect timing and synchronization that is characteristic of watching movies from cinemas

- **No Limits:**
  - Friends might be watching from anywhere making distances irrelevant

---

## Ways to Contribute

### 1. Reporting Bugs
If you encounter any bugs or issues while using PlaySho, please report them on our [GitHub Issues](https://github.com/behnamnasehi/playsho/issues) page . Be sure to provide details about the case, including steps to deliver and surroundings.
 
---

### 2. Feature Requests

Have an idea for a new feature or improvement? Feel free to share it with us on our [GitHub Issues](https://github.com/behnamnasehi/playsho/issues) page. We welcome your suggestions and will consider them for future updates.

---

### 3. Code Contributions

For developers interested in contributing code to PlaySho, follow these steps:

#### - Fork the Repository

1. Click on the "Fork" button at the top of the [PlaySho repository](https://github.com/behnamnasehi/playsho) to create your fork.

#### - Clone Your Fork

Fork the repository to your GitHub account by clicking on the "Fork" button on the top right of the repository page.

Next, clone your fork to your local machine using the following command:

```bash
git clone https://github.com/behnamnasehi/playsho.git

cd playsho
```

#### - Create a New Branch

Create a new branch for your feature or bug fix:

```bash
git checkout -b feature/your-feature-name
```

#### - Make Changes

Make your code changes and ensure they adhere to our coding standards.

#### - Test Locally

Test your changes locally to ensure they work as expected.

#### - Commit and Push

```bash
git add .

git commit -m "Add your commit message here"

git push origin feature/your-feature-name
```
#### - Create a Pull Request

Visit the Pull Requests page in your repository and click on "New Pull Request." Provide a clear description of your changes and submit the pull request.

---

### 4. Documentation
Improving documentation is another valuable way to contribute. If you identify areas where the documents can be enlarged or have written guidelines, feel free to submit a pull request.

---

### 5. Design Contributions
Designers are also welcome to contribute to the project. Whether it’s improving the user interface, creating graphics, or improving the overall aesthetic of the design, your contributions are appreciated.

---

### License
By contributing to PlaySho, you agree that your contributions will be licensed under the [Apache-2.0 license](https://github.com/behnamnasehi/playsho/blob/master/LICENSE) license.

As the lead Android developer in the back of PlaySho,[Behnam Nasehi](https://github.Com/behnamnasehi), I'm captivated with crafting revolutionary solutions that beautify user reviews and push the bounds of what is viable within the realm of mobile applications. With a strong basis in Kotlin, Socket.IO, and superior encryption techniques, I attempt to create immersive experiences that bring human beings together, whether or not they're sharing film nights or taking part on initiatives. I'm committed to staying at the leading edge of Android improvement developments and technology, constantly seeking new possibilities to innovate and deliver extraordinary effects. Connect with [Behnam Nasehi](https://github.Com/behnamnasehi) to explore how we are able to elevate your subsequent cell project collectively!