Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abourtnik/clip-zone
Open Source Laravel Youtube Clone
https://github.com/abourtnik/clip-zone
alpinejs bootstrap5 javascript laravel10 meilisearch mysql php8 preact redis stripe
Last synced: about 1 month ago
JSON representation
Open Source Laravel Youtube Clone
- Host: GitHub
- URL: https://github.com/abourtnik/clip-zone
- Owner: abourtnik
- Created: 2022-11-11T02:12:00.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-17T13:38:31.000Z (about 2 months ago)
- Last Synced: 2024-09-28T20:04:00.392Z (about 2 months ago)
- Topics: alpinejs, bootstrap5, javascript, laravel10, meilisearch, mysql, php8, preact, redis, stripe
- Language: PHP
- Homepage: https://www.clip-zone.com/
- Size: 36.9 MB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ClipZone
=====Open Source Youtube Clone
## Technical detail
* Backend : PHP 8.1, Laravel 10, MySQL
* Frontend : Preact, Alpine JS, Boostrap 5.3## Installation
* Clone project
* Run `make init` command on the root folderThen go to `http://localhost:8080
## Run seeder
```shell
make reset
```## Storage
If you use the ***local*** FILESYSTEM_DISK:
- Update docker/nginx.conf file : comment *S3 FILESYSTEM_DISK block* and uncomment *LOCAL FILESYSTEM_DISK* block
If you use the ***s3*** FILESYSTEM_DISK:
- Update docker/nginx.conf file : comment *LOCAL FILESYSTEM_DISK* block and uncomment *S3 FILESYSTEM_DISK* block
- Connect to http://localhost:8900 with credentials defined in minio section in docker-compose.yml
- Create new bucket and adjust AWS_BUCKET & AWS_URL env variables + proxy_pass directive in nginx
- Define following policy for the created bucket
- Generate secret key and insert this last one in **proxy_set_header User-Agent** in nginx and **aws:UserAgent** in json policy```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Public Access",
"Effect":"Allow",
"Principal":{
"AWS":"*"
},
"Action":["s3:GetObject"],
"Resource":[
"arn:aws:s3:::clipzone/avatars/*",
"arn:aws:s3:::clipzone/banners/*",
"arn:aws:s3:::clipzone/categories/*"
]
},
{
"Sid": "Video Access",
"Effect":"Allow",
"Principal":{
"AWS":"*"
},
"Action":["s3:GetObject"],
"Resource":[
"arn:aws:s3:::clipzone/videos/*"
],
"Condition": {
"StringLike": {
"aws:UserAgent": "SECRET"
}
}
}
]
}
```## Contributing
We encourage you to contribute to ClipZone !!
Trying to report a possible security vulnerability in ClipZone ? Consider using email :
**[email protected]** with clear description of security vulnerability.## License
ClipZone is made available under the [MIT License](http://www.opensource.org/licenses/mit-license.php).## Credits
ClipZone is created and maintained by [Anton Bourtnik](https://github.com/abourtnik)