{"id":19408892,"url":"https://github.com/4lessandrodev/calendar","last_synced_at":"2025-02-25T02:18:01.045Z","repository":{"id":214411986,"uuid":"736462356","full_name":"4lessandrodev/calendar","owner":"4lessandrodev","description":"The Configurable Calendar Lib is a versatile library for creating and managing customizable calendars. With a hierarchical tree structure, it enables intuitive navigation from yearly overviews to specific time slots. Whether setting up daily, weekly, or recurring schedules, this library offers flexibility and precision. Ideal for developers focused","archived":false,"fork":false,"pushed_at":"2024-01-22T01:33:02.000Z","size":191,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-07T14:25:00.436Z","etag":null,"topics":["calendar","configurable","event-organization","hierarchical-structure","library","recurring-events","scheduling","time-management","time-slots","weekly-planning","yearly-overview"],"latest_commit_sha":null,"homepage":"","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/4lessandrodev.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}},"created_at":"2023-12-28T01:25:56.000Z","updated_at":"2024-11-21T20:39:14.000Z","dependencies_parsed_at":"2023-12-28T03:07:51.425Z","dependency_job_id":"56b5fead-cecf-4766-9e67-d2b22010b113","html_url":"https://github.com/4lessandrodev/calendar","commit_stats":null,"previous_names":["4lessandrodev/calendar"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcalendar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcalendar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcalendar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcalendar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4lessandrodev","download_url":"https://codeload.github.com/4lessandrodev/calendar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240587480,"owners_count":19825005,"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":["calendar","configurable","event-organization","hierarchical-structure","library","recurring-events","scheduling","time-management","time-slots","weekly-planning","yearly-overview"],"created_at":"2024-11-10T12:08:26.312Z","updated_at":"2025-02-25T02:18:00.997Z","avatar_url":"https://github.com/4lessandrodev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Configurable Calendar Lib\n\n[Portuguese Version](./LEIAME.md)\n\nThe **Configurable Calendar Lib** is a library developed to facilitate the creation and manipulation of personalized calendars. With a well-defined tree structure, it allows for intuitive and flexible navigation from the year level down to the time slots.\n\n## Tree Structure\n\nThe library operates on a hierarchical tree structure as follows:\n\n- **Year**: Each year can be configured and will point to months.\n- **Month**: Within a year, each month contains weeks.\n- **Week**: Each week has days.\n- **Day**: Each day is subdivided into hours.\n- **Hour**: Within a day, each hour contains time slots.\n\nThis tree structure enables clear and efficient organization of events and information over time.\n\n```mermaid\n    graph TD\n    A[Configurable Calendar] --\u003e B[Year]\n    B --\u003e C[Month]\n    C --\u003e D[Week]\n    D --\u003e E[Day]\n    E --\u003e F[Hour]\n    F --\u003e G[Time Slot]\n    B --\u003e H[...]\n    C --\u003e I[...]\n    D --\u003e J[...]\n    E --\u003e K[...]\n    F --\u003e L[...]\n    G --\u003e M[...]\n```\n\n## Key Features\n\n### Calendar Creation\n\nWith the **Configurable Calendar Lib**, you can create calendars in various ways:\n\n1. **For All Days**: Set the start date, end date, start time, end time, and slot duration for every day.\n2. **For Specific Days**: Set the start date, end date, and choose specific weekdays (Monday, Tuesday, etc.) and set the start time, end time, and slot duration for each of these days.\n3. **At Specific Intervals**: Configure the calendar for specific days (e.g., every 15 days, 30 days) from an initial date, defining the start time, end time, slot duration and end date.\n\n#### Create Config for all days\n\nThe flow represents a structured sequence for setting up a customized calendar. Starting with the selection of the year and defining start and end dates, the process moves on to configure the calendar for all days. Subsequently, start and end times are specified, culminating in setting the slot duration. The flow concludes with a review and confirmation of the settings, ensuring all information is correct before finalizing the calendar configuration.\n\n```mermaid\ngraph TD\n    A[Start Configuration] --\u003e B[Choose Year]\n    B --\u003e C[Select Start Date]\n    C --\u003e D[Select End Date]\n    D --\u003e E[All Days]\n    E --\u003e F1[Specify Start Time]\n    F1 --\u003e F2[Specify End Time]\n    F2 --\u003e G[Specify Slot Duration]\n    G --\u003e H[Review and Confirm]\n    H --\u003e I[End Configuration]\n```\n\n#### For Specifics Days\n\nThe flow outlines a structured process tailored for setting up a calendar based on specific days of the week. Beginning with the selection of a year and determining start and end dates, the configuration narrows down to choosing particular weekdays. Following this, individual start and end times are set for each selected day. Subsequently, the slot duration for each specific day is specified. The process culminates with a review and confirmation step, ensuring accurate settings before finalizing the calendar configuration.\n\n```mermaid\ngraph TD\n    A[Start Configuration] --\u003e B[Choose Year]\n    B --\u003e C[Select Start Date]\n    C --\u003e D[Select End Date]\n    D --\u003e E[Choose Week Days]\n    E --\u003e F1[Specify Start Time for each day]\n    F1 --\u003e F2[Specify End Time for each day]\n    F2 --\u003e G[Specify Slot Duration for each]\n    G --\u003e H[Review and Confirm]\n    H --\u003e I[End Configuration]\n```\n\n#### At Specific Intervals\n\nThe flow diagram delineates a structured procedure for setting up a calendar based on specific intervals. Initiated by selecting a year and determining the start and end dates, the configuration then focuses on choosing a particular interval. Subsequent steps involve specifying the start and end times for this interval. Following this, the slot duration for each period is defined. The sequence concludes with a review and confirmation phase, ensuring precise configurations before finalizing the calendar \n\n```mermaid\ngraph TD\n    A[Start Configuration] --\u003e B[Choose Year]\n    B --\u003e C[Select Start Date]\n    C --\u003e D[Select End Date]\n    D --\u003e E[Choose Interval]\n    E --\u003e F1[Specify Start Time]\n    F1 --\u003e F2[Specify End Time]\n    F2 --\u003e G[Specify Slot Duration for each]\n    G --\u003e H[Review and Confirm]\n    H --\u003e I[End Configuration]\n```\n\n## Getting Started\n\nTo begin using the library, refer to the documentation and available examples. Integration is straightforward and flexible, allowing you to tailor the library to the specific needs of your project.\n\n---\n\nWe hope the **Configurable Calendar Lib** meets your time management and event organization needs. Feel free to contribute, report issues, or send suggestions for improvement.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fcalendar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4lessandrodev%2Fcalendar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fcalendar/lists"}