Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/renatoxm/youtube-clone
Simple youtube clone with a few features
https://github.com/renatoxm/youtube-clone
Last synced: 2 days ago
JSON representation
Simple youtube clone with a few features
- Host: GitHub
- URL: https://github.com/renatoxm/youtube-clone
- Owner: renatoxm
- License: mit
- Created: 2023-02-27T20:21:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-03-02T18:09:58.000Z (over 1 year ago)
- Last Synced: 2023-08-16T07:44:01.481Z (over 1 year ago)
- Language: TypeScript
- Size: 188 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Youtube clone with Express, MongoDB, & TypeScript
This repository is not intended for commercial use.
It was created just as a code sample and doesn't have a lot of features.
## Features
1. Register user
2. Login
3. Get current logged in user
4. Upload video
5. Get all videos
6. Stream a video## Technologies
* [Docker](https://docker.com)
### Backend
* [Express](https://expressjs.com/)
* [MongoDB](https://www.mongodb.com/)
* [Mongoose](https://mongoosejs.com/)
* [Typegoose](https://typegoose.github.io/typegoose/)
* [TypeScript](https://www.typescriptlang.org/)
* [argon2](https://www.npmjs.com/package/argon2)
* [busboy](https://www.npmjs.com/package/busboy)
* [pino](https://github.com/pinojs/pino)
* [Zod](https://github.com/colinhacks/zod)### Frontend
* [Next.js](https://nextjs.org/)
* [Mantine](https://mantine.dev/)
* [TypeScript](https://www.typescriptlang.org/)
* [React Query](https://react-query.tanstack.com/)## Installation
### Server
install server dependencies
```sh
cd servercp .env.example .env
npm i
```
### Client
install server dependencies
```sh
cd clientcp .env.example .env
npm i
```
## Running/shutting down the app
### Local option (docker installed locally)
run **npm i** on both server and client folders
```sh
npm i
```To stop use **ctrl + c** keyboard command
### Docker option (run client locally and server on container)
To start Docker server run **docker up -d** command. On the first time docker will install the containers.
1. Start client locally with **npm i**
```sh
cd clientnpm run prod
```2. Run server on Docker container
```sh
cd serverdocker-compose up -d
```To stop docker use **ctrl + c** keyboard command
## License
This project is licensed under the MIT license. For more information see the [LICENSE](LICENSE.md) file.