Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/betiniakarandut/youtube-server

YouTube-like server
https://github.com/betiniakarandut/youtube-server

express nodejs nodemon

Last synced: 13 days ago
JSON representation

YouTube-like server

Awesome Lists containing this project

README

        

# youTube-server

## Description
This is my internship project at Retiny company(Remote). Started the internship March 16 2024

## ABOUT
This project will attempt to implement the basic features of YouTube. The aim is to familiarize myself with the overall framework: Streaming platform, fintech, infrastructure, Backend engineering, DevOps, web development, etcetera.

## Lets Jump Right In!

Welcome to the `youTube-server`! Our server provides a comprehensive solution for managing videos and all product adverts. This README provides an overview of the project, including its purpose, features, setup instructions, functionality, API documentation, contributing guidelines, modules, and licensing information.

## Introduction

The `youTube-server` is designed to facilitate video live stream, video uploads, video live meetings, products adverts and many more. Its robust features offer users the ability to educate online, join live metings with a large crowd, flexibity, high content quality with reduced file size. We bring a new world of seemless video streaming with smooth and faster TCP/UDP.

## Features

- **Video Uploads**:
- Upload your videos to cloud.
- Track your video metrics and engagements.
- View and hear from your audience about your uploaded videos.

- **Live Streaming**:
- Watch live videos anywhere at your comfort with less data consumption.
- Enjoy robust live streaming features.
- Monitor metrics and engagements.

- **Live Meetings**:
- Join your company meetings.
- Record live meetings.
- Accomodate large audience.

- **Payment Processing**:
- Integrate with payment gateways such as PayPal for fiat currency transactions.
- Support cryptocurrency transactions.

## Functionality

The YouTube Server provides a range of functionality across its modules:

- **YouTube Server**:
- Manage all your videos and server contents from the cloud.
- Implement authentication and authorization for secure access.

- **Authentication and Security**:
- Implement user authentication and role-based access control.
- Secure API endpoints and sensitive data.

- **Payment Processing**:
- Integrate with payment gateways for fiat currency transactions.
- Support cryptocurrency transactions

## API Documentation
Replace port with your choice. Default port is `5000`.
visit [localhost:5000/api-docs](http://localhost:5000/api-docs)

## Sample Image of APIs docs
### - **api-docs page 1**
[api-docs1](./assets/api-docs1.png)

img1

### - **api-docs page 2**
[api-docs2](./assets/api-docs2.png)

img2

### - **api-docs page 3**
[api-docs3](./assets/api-docs3.png)

img3
## Contributing and guidelines

We welcome contributions from the community! If you'd like to contribute to the YouTube Server, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Implement your changes.
4. Test thoroughly and ensure adherence to coding standards.
5. Submit a pull request with a clear description of your changes.

## Modules
| Folder | Description |
|--------|-------------|
|[controllers](./controllers/) | callback functions |
| [models](./models/) | video and all associated models |
| [routes](./routes/) | all videos and associated routes |
| [server](./server.js) | consume all endpoints/APIs (entry file) |
| [Docker image](./Dockerfile) | Docker image for the server |
| [utils](./utils/) | utility files |
| [client](./client/) | Nginx Homepage |
| [API Docs](./swagger.js) | API documentation |

## Author
- Github - [Betini Akarandut](https://github.com/betiniakarandut)
- Tweet - [@betiniakarandut](https://twitter.com/betiniakarandut)