{"id":19066314,"url":"https://github.com/rdvid/piano-weekly-task","last_synced_at":"2025-02-22T03:16:51.083Z","repository":{"id":222727716,"uuid":"753359463","full_name":"rdvid/piano-weekly-task","owner":"rdvid","description":"a microsservice to generate weekly tasks and send by email with cronjob for music theory practice","archived":false,"fork":false,"pushed_at":"2024-02-22T23:29:18.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T14:29:23.900Z","etag":null,"topics":["api-rest","cloud","cronjob","docker","email-sender","flask","linux","microservice","music-theory","pdf-generation","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdvid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-06T00:40:24.000Z","updated_at":"2024-02-15T21:16:39.000Z","dependencies_parsed_at":"2024-02-23T00:30:17.848Z","dependency_job_id":null,"html_url":"https://github.com/rdvid/piano-weekly-task","commit_stats":null,"previous_names":["rdvid/piano-weekly-task"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvid%2Fpiano-weekly-task","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvid%2Fpiano-weekly-task/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvid%2Fpiano-weekly-task/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdvid%2Fpiano-weekly-task/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdvid","download_url":"https://codeload.github.com/rdvid/piano-weekly-task/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240118420,"owners_count":19750491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","cloud","cronjob","docker","email-sender","flask","linux","microservice","music-theory","pdf-generation","python"],"created_at":"2024-11-09T00:55:56.914Z","updated_at":"2025-02-22T03:16:51.063Z","avatar_url":"https://github.com/rdvid.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://readme-typing-svg.demolab.com?font=monospace\u0026size=32\u0026duration=4000\u0026pause=2200\u0026color=F1F1F1\u0026center=true\u0026vCenter=true\u0026width=940\u0026lines=Piano+weekly+task+generator\" alt=\"Piano weekly task animated typed out\" width=\"90%\" align=\"middle\"/\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![Python](https://img.shields.io/badge/Python-38B2AC?style=for-the-badge\u0026logo=python\u0026logoColor=white)\n![Flask](https://img.shields.io/badge/Flask-000000?style=for-the-badge\u0026logo=flask\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-007ACC?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Git](https://img.shields.io/badge/Git-000000?style=for-the-badge\u0026logo=git\u0026logoColor=red)\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n   \u003cimg height=300 width=500 src=\"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExd3Z3ZHh1ZTNiOXJwN3NsbWt5cTZ4ZGpkMnV6cjVjeDlhdmttY2p6YiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/vFtWp05vBYnMQ/giphy.gif\" alt=\"cat playing piano\"\u003e  \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003citalic\u003e\"The piano is a monster that screams when you touch its teeth.\" - A.Segovia\u003c/italic\u003e\u003c/p\u003e\n\n## 💡 What is it?\n\nA microsservice who generates piano sheets. THe main goal here is to generate 7 random music sheets, one for each week day, composed by random keys inside a range of octaves (C and F major 2 scales) for beginners (like me) have material for practicize musical theory and enhance dynamism through piano notes.\n\n### Technologies used\n- Python\n- Flask\n- Docker\n\n\n## ✨ Highlights\n\nSome features that i'm proud for implement:\n\n- Implemented music21, an MIT lib for abcnotation\n- Lilypond for pdf generate\n- Send email and cron jobs using linux Cron and sendinblue\n\n## ⚙️ Next Features\n\nThe development process starts but never ends. Next features will be focused on:\n\n- [ ] Load balancer with Nginx.\n- [ ] An s3 integration for document storage.\n- [ ] Maybe Aws lambda for cloud study purposes.\n- [ ] More patterns, exploring themes like chords and even full music prodution for advanced pianists.\n\n\n## 📫 Find a bug or have any suggestion?\n\n### Pull Requests \n\n1. Fork this repo.\n2. Create a branch: `git checkout -b \u003cbranch_name\u003e`.\n3. Do your alterations and tell then in your commit message: `git commit -m '\u003ccommit_message\u003e'`\n4. Send then to origin fork: `git push origin \u003cproject-name\u003e / \u003clocal\u003e`\n5. Create a pull request detailing your implementation.\n\n[How to create a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request).\n\n### Issues\n\n1. Access the Issues Section:\n2. Click the “New issue” button.\n3. In the “Title” field, type a descriptive title for your issue.\n4. In the comment body field, provide a detailed description of the issue you’re facing or the feature you’d like to request.\n5. Apply labels to categorize the issue.\n    - `Enhancement` for new features\n    - `Bug` for some issue in usability\n6. Click “Submit new issue” to create the issue.\n\n\u003ch3 align=center\u003eWith ❤️ by:\u003c/h2\u003e\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"#\"\u003e\n        \u003cimg src=\"https://avatars.githubusercontent.com/u/60834135\" alt=\"Foto de Rafael David\" width=115\u003e\u003cbr\u003e\n        \u003csub\u003e\n          \u003cb\u003eRafael David\u003c/b\u003e\n        \u003c/sub\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdvid%2Fpiano-weekly-task","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdvid%2Fpiano-weekly-task","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdvid%2Fpiano-weekly-task/lists"}