FritzTheCat9 / YoutubeLinks

I achieved 8th place in the "100 Commits" competition organized by DevMentors. Over 100 days, I developed the "YoutubeLinks" application, which allows users to create playlists from YouTube links and download those playlists as MP3 and MP4 files.
29 stars 2 forks source link
api blazor blazor-webassembly c-sharp c-sharp-12 cqrs csharp dot-net-9 dotnet entity-framework-core fluent-validation jwt mediatr minimal-api mudblazor serilog vertical-slice-architecture vue youtube yt-dlp

YoutubeLinks

I achieved 8th place in the "100 Commits" competition organized by DevMentors. Over 100 days, I developed the "YoutubeLinks" application, which allows users to create playlists from YouTube links and download those playlists as MP3 and MP4 files.

Downloading playlists as MP3 and MP4 files, tested successfully on over 3000 links.

Youtube video presentation:

Youtube Video

Max downloaded mp3 file: length - 03:31:45, size - 391 MB\ Max downloaded mp4 file: length - 25:44, size - 973 MB\ Larger files not tested or can not work correctly.

Table of contents

Launch

Run application with one command (setup all docker containers, create database, apply migrations):

cd C:\Users\bartl\source\repos\YoutubeLinks
docker compose up --build -d

Created containers:

http://localhost:5000
http://localhost:7000
Host: localhost 
Port: 1433 
Database/Schema: YoutubeLinks
Username: sa
Password: Password1!
Server: youtubelinks.database
http://localhost:8081

Login credentials:

Admin:
- Email: ytlinksapp@gmail.com
- Password: Asd123!
User:
- Email: ytlinksapp1@gmail.com
- Password: Asd123!

If You have any problems check issue below or ask me in GitHub issues: https://github.com/FritzTheCat9/YoutubeLinks/issues/52

Presentation

Users view: Users image

Playlists view: Playlists image

Links view: Links image

Links grid view: Links grid image

Download playlist view: Download playlists image

Technologies

Architecture

Blazor WebAssembly frontend with .NET Minimal API backend connecting to the MSSQL database. Monolithic architecture with Vertical Slices. Code separated by feature.

Project types and references

Packages

Nuget packages and libraries used in projects.

Features

Roles

Project status

Project created as part of the "100 Commits" competition. The challenge is to add changes to the repository every day for 100 days.

100 Commits results image

I achieved 8th place in the "100 Commits" competition organized by "DevMentors.io". Over 100 days, I developed the "YoutubeLinks" application, which allows users to create playlists from YouTube links and download those playlists as MP3 and MP4 files.

100 Commits results photo image

This project was a significant adventure that taught me perseverance and systematic work to achieve my project goals within the given timeframe. The "100 Commits" gala was a fantastic event, well-organized with engaging talks. I look forward to a potential second edition of the competition in the future.