92 lines
2.0 KiB
Markdown
92 lines
2.0 KiB
Markdown
|
# droplez
|
||
|
|
||
|
## MVP
|
||
|
|
||
|
### droplez-frontend
|
||
|
- Projects (Studio)
|
||
|
- Project initialization, listing, updating, commenting
|
||
|
<!-- - Stock -->
|
||
|
<!-- - Sell beats -->
|
||
|
<!-- - Sell arrangements -->
|
||
|
<!-- - Sell sounds -->
|
||
|
<!-- - Sell vst presets -->
|
||
|
<!-- - Plugins -->
|
||
|
<!-- - Donwload plugins -->
|
||
|
<!-- - Save plugins to collection -->
|
||
|
<!-- - Attach presets to a plugin -->
|
||
|
- Personal Page -> Auth service
|
||
|
- Post creation/listing/updating
|
||
|
- Reactions
|
||
|
- Music
|
||
|
- Highligts
|
||
|
- Player
|
||
|
- Timeline comments
|
||
|
- Lyrics
|
||
|
### droplez-desktop
|
||
|
- Project management (studio)
|
||
|
- Player
|
||
|
### droplez-cli
|
||
|
- Project management (studio)
|
||
|
|
||
|
Tasks:
|
||
|
1.
|
||
|
|
||
|
## Logic
|
||
|
|
||
|
CLI:
|
||
|
```
|
||
|
- Init project in the dir, where project file exists
|
||
|
$ droplez init .
|
||
|
-n | --name - project name
|
||
|
-a | --artist - artist name
|
||
|
-c | --collection - collection name
|
||
|
-t | --tags - project tags
|
||
|
droplez init creates a yaml file witt project params
|
||
|
|
||
|
$ droplez add
|
||
|
-m | --message - add message to new version
|
||
|
|
||
|
$ droplez push
|
||
|
|
||
|
```
|
||
|
|
||
|
## Milestones
|
||
|
---
|
||
|
|
||
|
### **milestone 1**: Project Initialization
|
||
|
|
||
|
#### droplez-studio
|
||
|
- [x] CRUD operations
|
||
|
#### droplez-frontend
|
||
|
- [ ] Studio -> Projects page
|
||
|
#### droplez-cli
|
||
|
- [ ] Basic CRUD client
|
||
|
#### droplez-k8s
|
||
|
- [ ] Create deploy for stage environment
|
||
|
---
|
||
|
|
||
|
### **milestone 2:** Files uploading and project versioning
|
||
|
|
||
|
#### droplez-uploader
|
||
|
- [ ] Init file uploader
|
||
|
#### droplez-studio
|
||
|
- [ ] Add information about files
|
||
|
- [ ] Add versioning logic
|
||
|
#### droplez-frontend
|
||
|
- [ ] Add files uploading support
|
||
|
- [ ] Add versioning on project pages
|
||
|
#### droplez-cli
|
||
|
- [ ] File upload support
|
||
|
|
||
|
---
|
||
|
|
||
|
## Notes
|
||
|
|
||
|
### Project creation vs Project initialization
|
||
|
|
||
|
- When creating a project, the new empty project instance is created (supported in Web, Desktop and Cli)
|
||
|
- When initializing a project, droplez config is added to already existing project (Desktop, Cli)
|
||
|
|
||
|
On init, we have a project dir, so we can add a yaml file there, but on create we need to unzip template, add config there and zip again. It should be done the fastest way possible.
|
||
|
|