{"id":29269033,"url":"https://github.com/liby99/yearly-tracker","last_synced_at":"2025-07-25T22:02:49.396Z","repository":{"id":299578680,"uuid":"1003381350","full_name":"Liby99/yearly-tracker","owner":"Liby99","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-17T08:02:49.000Z","size":141,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-17T09:18:59.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://yearly-tracker-eta.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Liby99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-06-17T04:16:41.000Z","updated_at":"2025-06-17T08:02:52.000Z","dependencies_parsed_at":"2025-06-17T09:19:01.631Z","dependency_job_id":"b5d7fb0f-4a8c-4295-9a30-0ffea7bab7c4","html_url":"https://github.com/Liby99/yearly-tracker","commit_stats":null,"previous_names":["liby99/yearly-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Liby99/yearly-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liby99%2Fyearly-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liby99%2Fyearly-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liby99%2Fyearly-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liby99%2Fyearly-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Liby99","download_url":"https://codeload.github.com/Liby99/yearly-tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liby99%2Fyearly-tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263611900,"owners_count":23488429,"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":[],"created_at":"2025-07-04T20:06:54.244Z","updated_at":"2025-07-04T20:06:58.318Z","avatar_url":"https://github.com/Liby99.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GridCal\n\nGridCal is a yearly tracker designed for visibility, minimalism, and usability.\nIt allows you to keep track of high-level events of the entire year.\nIt offers functionalities to create monthly topics and categorize events in a per-topic fashion.\nFor simplicity, each month only allows up-to 4 topics, making you aware of focuses and forcing you to prioritize.\nThe app offers local persistent storage as well as download/upload calendar functionality.\n\n![screenshot](docs/screenshot.png)\n\nImplementation wise, it is a simplistic web-app built with React and [Next.js](https://nextjs.org).\n\n## How to use\n\n### 🗓 Create Topics and Events\n\nStart by typing in the month header to create a topic—think of it like a lane for your calendar.\nTopics could be general themes like work, study, or life—just 4 per month to help you focus on what truly matters.\n\nThen, simply click and drag on the calendar grid to create events.\nType directly inside an event box to name it!\n\n\u003e ✨ Note: Each topic can only have one event per day—this is by design to help you stay focused and intentional.\n\n![1-topic-events](docs/1-topic-events.gif)\n\nWhen you hover over the calendar grid, you’ll see the weekday labels (like “MON”, “TUE”) to help you stay oriented.\nWe also highlight “TODAY” so you always know where you are in the year.\n\n### 🎨 Edit, Delete, and Add Color\n\nRight-click on an event to reveal a quick menu.\nClick the 🗑 trash button to remove it, or just press backspace/delete after clearing the text to quickly remove it.\nWant to add some flair? Use the color pickers to color-code your events—maybe by priority, mood, or category. Your system, your rules!\n\n![2-delete-change-color](docs/2-delete-change-color.gif)\n\n### 📆 Adjust and Rearrange\n\nEach event has small handles on the sides.\nDrag them to stretch or shrink the event’s duration.\nYou can also reorder your monthly topics by dragging the handles next to the topic name. Easy and satisfying.\n\n![3-drag-rearrange](docs/3-drag-rearrange.gif)\n\n### 🧠 Add Notes by Quarter\n\nEach quarter has a little notes section below.\nNotes work a lot like events: you can type in them, color them, move them, and resize them.\nSome ideas: use emojis, mark big deadlines, or jot down quick thoughts.\nTiny 1x1 notes are great for little visual markers too!\n\n![4-adding-notes](docs/4-adding-notes.gif)\n\n### 💾 Save, Load, and Start Fresh\n\nIn the top-right corner, you’ll find buttons to save and erase your calendar.\n\n- Save downloads a .json file with all your entries\n- Erase wipes the slate clean\n- Upload brings everything back from a saved file—just like magic ✨\n\n![5-save-erase-upload](docs/5-save-erase-upload.gif)\n\n### 📅 Jump Between Years\n\nClick the year (e.g., 2025) in the nav bar to switch to another year.\nSaved calendars work across any year—so you can plan ahead (or backtrack) anytime.\n\n![6-change-year](docs/6-change-year.gif)\n\n### 🖨️ Print and Make It Your Own\n\nGridCal is made to be printer friendly—because sometimes, nothing beats pen and paper.\nWhen you print in landscape mode, the year is split into two pages:\nQ1 + Q2 on the first, and Q3 + Q4 on the second.\n\nFeel free to jot, doodle, or color in your calendar by hand. Make it personal. Make it yours.\n\n## Developing\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliby99%2Fyearly-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliby99%2Fyearly-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliby99%2Fyearly-tracker/lists"}