Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomdoestech/youtube-clone
https://github.com/tomdoestech/youtube-clone
nextjs nodejs react tutorial typescript
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tomdoestech/youtube-clone
- Owner: TomDoesTech
- Created: 2022-04-13T08:42:55.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-07T01:17:03.000Z (about 2 years ago)
- Last Synced: 2024-04-17T06:07:25.545Z (9 months ago)
- Topics: nextjs, nodejs, react, tutorial, typescript
- Language: TypeScript
- Homepage: https://youtu.be/hPck3Q13wdE
- Size: 128 KB
- Stars: 60
- Watchers: 4
- Forks: 29
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Build a Youtube clone with Express, MongoDB, & TypeScript
## Features
1. Register user
2. Login
3. Get current logged in user (me)
4. Upload video
5. Get all videos
6. Stream a video## Technologies
### Backend
* [Express](https://expressjs.com/)
* [Mongoose](https://www.mongodb.com/)
* [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/)## What you'll need
1. Code editor - VSCode
2. Postman/ insomnia
3. Browser - Chrome
4. Running instance of MongoDB
5. Node.js## What you will learn
1. REST API principals
2. Some auth principals
4. MongoDB with Mongoose
5. Graceful shutdowns
6. File upload streams with Node.js
7. Video streaming with Node.js
8. Next.js
0. Mantine
10. React.js context API
11. Express & React.js with TypeScript
12. Clean project structure## Video structure
1. Demonstration
2. Code walk-through
3. Bootstrap server
* Initialise application
* Setup express
* Setup logger
* Setup Mongoose
4. User
* Register user
* Login
* Require user and deserialize user middleware
* Get current user
5. Video
* Upload video
* Update video
* Get all videos
* Stream video
6. Setup client
7. Auth
* Login screen
* Register screen
8. Video
* Upload video
* Stream video