yterraillon / clipify Goto Github PK
View Code? Open in Web Editor NEWCopy and backup your Spotify playlists
License: MIT License
Copy and backup your Spotify playlists
License: MIT License
Use Mediatr to have a clear separation between Webapp and Application.
Setup Projects dependencies
Move the "WeatherForecast" data provider to the infrastructure
For now we will display tokens on the login page
Learn about docker-compose and see if it is relevant to the project.
The default site should be running fine on execution
Create new playlist with the same name as the original + something to distinguish it like " - fork" or "- copy"
If possible : move the original playlist into a folder named "originals"
Save in DB the link between original and fork
Business Rule :
A playlist cannot be subscribed to more than one playlist
A good project has a good readme!
Add the readme file to the repository root, and complete it with the following informations :
Description
CI/CD
Deployed url (docker hub)
Architecture
Used technologies
How to run locally
How to open an issue
Release process
Create a new page that displays all the users playlist, with their Ids, and the version
Parts of this app will use Reactive programming
http://reactivex.io/
https://github.com/dotnet/reactive
https://docs.microsoft.com/en-us/previous-versions/dotnet/reactive-extensions/hh242985(v=vs.103)?redirectedfrom=MSDN
Add a button on the playlist page to compare user's playlist version with the ones in DB. Playlists should marked as outdated on the page.
Updated playlists should be available in an Observable List
We will use signalr to send a command from the callback controller to the page
Add the following projects to the solution (as library)
Update the DockerFile accordingly
Add the following projects to the solution as unittests with xUnit
All csproj should be :
Running the solution should rise multiple warnings. This should be fixed, we want 0 warning for now
Create a button on the login page that will refresh the authentication token on click
And add logging : on errors, and everytime a quartz task runs
In the solution, create a Docs folder (within the sln too), and add a new md file called ArchitectureDecisionRecord
Add a link to it in the readme file
ADR will describe our architectural choices : CQRS, DDD etc
See :
On the login page, when signed in, display basic user information
Palette de couleurs : https://coolors.co/e2edb0-84dc9e-49cf6b-31ba6e-2f4b98
Pack d'icones :
https://www.flaticon.com/packs/music-226
https://www.flaticon.com/packs/music-224
https://www.flaticon.com/authors/pixel-perfect/lineal/3
Loading gifs :
https://cutewallpaper.org/21/loading-gif-transparent-background/view-page-21.html
Add a button on the playlist page, to save playlists in DB (new table, index : playlistId, content : playlist version, LastCheckedDate, LastModifiedDate)
A user shouldn't have access to a page if he's not logged into spotify.
Note : we need a way to handle user login status. Could just be Auth Token in local storage
DOCKERHUB_PASSWORD
DOCKERHUB_USERNAME
Password is a new PAT from DockerHub (ask for it)
Username is clipify
Tokens should not be stored in memory, as this would require to login each the app restarts.
Instead we will store them in a liteDb
VOLUME /config /data
<PropertyGroup> <DockerfileRunArguments>-v "C:\Docker\Clipify\data:/data" -v "C:\Docker\Clipify\config:/config"</DockerfileRunArguments> </PropertyGroup>
Add a logout button to the login page
Create a page, that will receive a playlist id and display all the songs in it, with their ids and Added Date
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.