{"id":26358201,"url":"https://github.com/danielgarcia85/javascript_exercises","last_synced_at":"2025-03-16T14:19:38.774Z","repository":{"id":282228804,"uuid":"947889034","full_name":"DanielGarcia85/JavaScript_Exercises","owner":"DanielGarcia85","description":"Hands-on exercises coveing JavaScript syntax, DOM manipulation, AJAX, animations, event handling, and object-oriented programming.","archived":false,"fork":false,"pushed_at":"2025-03-13T12:20:00.000Z","size":852,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T13:26:56.897Z","etag":null,"topics":["ajax","asyncjs","canvas","dom","javascript"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/DanielGarcia85.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":"2025-03-13T12:07:20.000Z","updated_at":"2025-03-13T12:23:08.000Z","dependencies_parsed_at":"2025-03-13T13:36:58.221Z","dependency_job_id":null,"html_url":"https://github.com/DanielGarcia85/JavaScript_Exercises","commit_stats":null,"previous_names":["danielgarcia85/javascript_exercises"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielGarcia85%2FJavaScript_Exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielGarcia85%2FJavaScript_Exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielGarcia85%2FJavaScript_Exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielGarcia85%2FJavaScript_Exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanielGarcia85","download_url":"https://codeload.github.com/DanielGarcia85/JavaScript_Exercises/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878527,"owners_count":20362447,"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":["ajax","asyncjs","canvas","dom","javascript"],"created_at":"2025-03-16T14:19:38.121Z","updated_at":"2025-03-16T14:19:38.764Z","avatar_url":"https://github.com/DanielGarcia85.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaScript Learning Exercises\r\nThis repository contains a series of exercises designed to help learn JavaScript, covering syntax, DOM manipulation, event handling, AJAX, asynchronous programming, and object-oriented JavaScript.  \r\n    \r\nIt was created as part of the course ***64-31 Internet Programming*** at **Haute École de Gestion (HEG)**.\r\n\r\n## Features\r\n- JavaScript Basics: Syntax, data types, and operators.\r\n- DOM Manipulation: Accessing and modifying HTML elements dynamically.\r\n- Event Handling: Managing user interactions with event listeners.\r\n- Timers \u0026 Animations: Using setTimeout, setInterval, and animations.\r\n- AJAX \u0026 Fetch API: Making HTTP requests and processing responses.\r\n- Canvas API: Drawing and rendering graphics with JavaScript.\r\n- Storage \u0026 Data Handling: Local storage, session storage, and JSON.\r\n- Object-Oriented Programming (OOP): Implementing classes and objects in JavaScript.\r\n\r\n## Project Structure\r\n- Demo_Canva/ : Introduction to the Canvas API.\r\n- Demo_Deplacement/ : Basic movement and animation.\r\n- Demo_Div/ : Handling dynamic HTML elements.\r\n- Demo_Formats/ : Working with CSV, XML, and JSON.\r\n- Demo_Requete/ : Basics of HTTP requests.\r\n- Demo_StructureEtDOM/ : Understanding the DOM hierarchy.\r\n- Demo_Timer/ : Working with timers in JavaScript.\r\n- TP-01/ : JavaScript syntax basics.\r\n- TP-02/ : Advanced JavaScript syntax.\r\n- TP-03/ : More practice on syntax.\r\n- TP-04/ : Data structures and handling.\r\n- TP-05/ : DOM manipulation exercises.\r\n- TP-06/ : Storage management (LocalStorage, SessionStorage).\r\n- TP-07/ : Using JavaScript timers.\r\n- TP-08/ : Handling movement and animations.\r\n- TP-09/ : Introduction to the Canvas API.\r\n- TP-10/ : AJAX basics.\r\n- TP-11/ : Advanced AJAX with XML, JSON, and CSV.\r\n- TP-12/ : Promises and asynchronous JavaScript.\r\n- TP-13/ : API consumption (weather data example).\r\n- TP-14/ : Object-oriented programming in JavaScript.\r\n\r\n## Prerequisites\r\n- Browser (Google Chrome, Firefox, Edge, etc.)\r\n- Basic knowledge of HTML and JavaScript\r\n- Local server (optional): XAMPP, WAMP, or Python's http.server\r\n\r\n## Installation\r\n1. Clone the repository:\r\n```shell\r\ngit clone https://github.com/yourusername/javascript-learning-exercises.git\r\n```\r\n2. Open any exercise in your browser (double-click the .html files).\r\n3. If using AJAX, run a local server:\r\n```shell\r\npython -m http.server 8000  # Python 3\r\n```\r\nThen access: http://localhost:8000/\r\n\r\n## Example: Running an AJAX Exercise\r\n1. Navigate to TP-10/.\r\n2. Open TP-10_AJAX.html in a browser.\r\n3. The page fetches and displays data from meteo.php.\r\n\r\n# Useful References\r\nJavaScript MDN Docs : https://developer.mozilla.org/en-US/docs/Web/JavaScript\r\nJavaScript.info : https://javascript.info/\r\n\r\n## License\r\nThis project is licensed under the Creative Commons Attribution-ShareAlike (CC BY-SA) license.\r\n\r\n## Author\r\nProject created by Daniel Garcia as part of the course ***64-31 Internet Programming*** at **Haute École de Gestion (HEG)** during the Spring semester of 2024.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielgarcia85%2Fjavascript_exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielgarcia85%2Fjavascript_exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielgarcia85%2Fjavascript_exercises/lists"}