{"id":25452668,"url":"https://github.com/mahimdev/course-registration-01","last_synced_at":"2025-05-16T13:10:15.912Z","repository":{"id":215068610,"uuid":"738040200","full_name":"mahimDev/Course-Registration-01","owner":"mahimDev","description":"Course-Register-01","archived":false,"fork":false,"pushed_at":"2024-01-02T09:24:41.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T23:41:42.495Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://effulgent-taffy-9653d6.netlify.app/","language":"JavaScript","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/mahimDev.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":"2024-01-02T09:19:20.000Z","updated_at":"2024-01-02T09:24:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d7ec119-19a2-40d4-88d2-d41a9e13368f","html_url":"https://github.com/mahimDev/Course-Registration-01","commit_stats":null,"previous_names":["mahimdev/course-registration-01"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahimDev%2FCourse-Registration-01","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahimDev%2FCourse-Registration-01/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahimDev%2FCourse-Registration-01/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahimDev%2FCourse-Registration-01/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mahimDev","download_url":"https://codeload.github.com/mahimDev/Course-Registration-01/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535824,"owners_count":22087399,"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-02-17T23:41:04.769Z","updated_at":"2025-05-16T13:10:15.906Z","avatar_url":"https://github.com/mahimDev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"live link : https://effulgent-taffy-9653d6.netlify.app/\n\nAdd at least 3 Project features  \n\nThe three features of my project are:\n• Each card cannot be clicked multiple times.  Multiple clicks will show a model.\n• Total credits should not exceed 20.  If it goes above 20 then a warning modal will show.\n• Total Credit will be subtracted from Remaining Credit.\n\n\u003c!-- \u003c\u003c\u003c\u003c\u003c Discuss how you managed the state in your assignment project.  \u003e\u003e\u003e\u003e\u003e --\u003e\n\nIn my assignment project, I implemented a robust state management system using five distinct states, each serving a specific purpose to ensure smooth functionality. These states were carefully designed to enhance the user experience and facilitate the core features of the application.\n\n1. Courses State:\n\nThis state was primarily responsible for managing course data.\nUpon the page's initial load, it retrieved and stored all course card data from a mock JSON source.\n2. Selected Courses State:\n\nThe second state was dedicated to storing selected course data.\nIt played a crucial role in maintaining the integrity of the selected courses by preventing duplicate course titles from being added.\n3. Total Price State:\n\nThe third state was instrumental in calculating and tracking the total price of the selected courses.\nIt continuously updated its value after every user interaction, ensuring that the total price accurately reflected the selected courses.\n4. Total Credit Hour State:\n\nThe fourth state had the vital task of storing and managing the total credit hours.\nIt dynamically increased its value with each click event, typically indicating the addition of a course.\n5. Remaining Credit Hour State:\n\nLastly, the fifth state was designed to store and display the remaining credit hours.\nAfter every click event, this state ensured that the remaining credit hours were adjusted accordingly, particularly when an item was not a duplicate.\nThis comprehensive state management approach greatly enhanced the project's functionality and user experience by efficiently handling data retrieval, course selection, price calculations, and credit hour tracking. It showcased your ability to architect a well-structured and organized codebase for the assignment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahimdev%2Fcourse-registration-01","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmahimdev%2Fcourse-registration-01","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahimdev%2Fcourse-registration-01/lists"}