{"id":21965340,"url":"https://github.com/muhamedayoub/javascript-dom-workshop","last_synced_at":"2026-05-09T07:05:35.051Z","repository":{"id":159128400,"uuid":"634456320","full_name":"MuhamedAyoub/javascript-dom-workshop","owner":"MuhamedAyoub","description":"JavaScript DOM Workshop","archived":false,"fork":false,"pushed_at":"2023-05-02T08:07:02.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"end","last_synced_at":"2025-06-20T15:57:45.059Z","etag":null,"topics":["dom","javascript","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/MuhamedAyoub.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":"2023-04-30T07:12:25.000Z","updated_at":"2023-08-13T10:19:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"6572440a-3f9b-4760-91a8-5aad8ae3ff5f","html_url":"https://github.com/MuhamedAyoub/javascript-dom-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MuhamedAyoub/javascript-dom-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuhamedAyoub%2Fjavascript-dom-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuhamedAyoub%2Fjavascript-dom-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuhamedAyoub%2Fjavascript-dom-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuhamedAyoub%2Fjavascript-dom-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MuhamedAyoub","download_url":"https://codeload.github.com/MuhamedAyoub/javascript-dom-workshop/tar.gz/refs/heads/end","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuhamedAyoub%2Fjavascript-dom-workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32810382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dom","javascript","vite"],"created_at":"2024-11-29T12:39:17.406Z","updated_at":"2026-05-09T07:05:35.018Z","avatar_url":"https://github.com/MuhamedAyoub.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Dom Workshop\n\n #### Welcome to the JavaScript Workshop!\n\n## Workshop Summary\n\nIn this workshop, you will learn how to build a Contact Manager application using JavaScript, HTML, and BOOTSTRAP. The Contact Manager allows you to store and manage contact information such as names, email addresses, and phone numbers. You'll learn important JavaScript concepts like DOM manipulation, event handling, object-oriented programming (OOP), and working with modules.\n\nThroughout the workshop, you'll build the Contact Manager step by step, starting from a simple HTML structure and gradually adding functionality using JavaScript. The workshop will cover topics such as:\n\n- Creating and updating contact objects using object-oriented programming (OOP) principles.\n- Dynamically rendering contacts in a table using the Document Object Model (DOM).\n- Implementing event handling to enable adding, updating, and deleting contacts.\n- Performing search operations to filter contacts based on specific criteria.\n- Learnig how write clean code.\n\n\nAlong with learning the core JavaScript concepts, you will also focus on writing clean and maintainable code. The workshop will emphasize best practices for code organization, readability, and following coding conventions. You'll learn techniques for structuring your code, using meaningful variable and function names, and writing comments to enhance code clarity and maintainability.\n\nBy the end of the workshop, you will have a fully functional Contact Manager application that not only demonstrates your knowledge of JavaScript concepts but also showcases your ability to write clean and well-structured code.\n\n## Installation\n\nTo install the project dependencies, run the following command:\n```bash\nchmod +x linux-install-npm.sh\n./inux-install-npm.sh\nnpm install\n```\nIf you are using Window \n``` powershell\nSet-ExecutionPolicy RemoteSigned\n./windows-install-npm.ps1\nnpm install\n```\nThis will install the required dependencies and start the project.\n\nOnce the installation is complete, you can start the workshop by running the following command:\n```bash\nnpm start\n```\nFeel free to explore and modify the code to learn more about JavaScript and DOM manipulation.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhamedayoub%2Fjavascript-dom-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhamedayoub%2Fjavascript-dom-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhamedayoub%2Fjavascript-dom-workshop/lists"}