{"id":27992752,"url":"https://github.com/code-mike-code/excursions-order-panel","last_synced_at":"2025-07-25T18:42:28.027Z","repository":{"id":291949505,"uuid":"979314741","full_name":"code-mike-code/excursions-order-panel","owner":"code-mike-code","description":"This project is a JavaScript-based travel order system that allows users to:  • Upload a CSV file containing travel offers • Select trips, specify the number of adults/children, and add them to an order list • Review and remove items from the order summary • Submit the order with validated customer details","archived":false,"fork":false,"pushed_at":"2025-05-07T10:27:38.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T11:32:12.357Z","etag":null,"topics":["css3","data-processing","dom","dom-manipulation","form-handling","html5","javascript"],"latest_commit_sha":null,"homepage":"https://code-mike-code.github.io/excursions-order-panel/","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/code-mike-code.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-05-07T10:21:24.000Z","updated_at":"2025-05-07T10:27:41.000Z","dependencies_parsed_at":"2025-05-07T11:43:15.873Z","dependency_job_id":null,"html_url":"https://github.com/code-mike-code/excursions-order-panel","commit_stats":null,"previous_names":["code-mike-code/excursions-order-panel"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-mike-code%2Fexcursions-order-panel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-mike-code%2Fexcursions-order-panel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-mike-code%2Fexcursions-order-panel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-mike-code%2Fexcursions-order-panel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code-mike-code","download_url":"https://codeload.github.com/code-mike-code/excursions-order-panel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253131003,"owners_count":21858923,"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":["css3","data-processing","dom","dom-manipulation","form-handling","html5","javascript"],"created_at":"2025-05-08T18:41:58.144Z","updated_at":"2025-05-08T18:42:00.404Z","avatar_url":"https://github.com/code-mike-code.png","language":"JavaScript","readme":"# Excursions order panel \n\nSee the live version of [Excursions order panel](https://code-mike-code.github.io/excursions-order-panel/).\n\nProject made during learning process with my mentor program [devmentor.pl](https://devmentor.pl/). This project is a JavaScript-based travel order system that allows users to:\n\n• Upload a CSV file containing travel offers\n• Select trips, specify the number of adults/children, and add them to an order list\n• Review and remove items from the order summary\n• Submit the order with validated customer details\n\nThe system dynamically generates trip cards from CSV data, calculates the total price, and ensures proper form validation before submission.\n\n\n# Key Functionalities\n\n1. CSV Data Processing\nParses uploaded CSV files with trip data (ID, name, description, adult/child prices)\nHandles edge cases (commas in descriptions, line breaks)\nDynamically renders trip cards in the UI\n\n2. Order Management\nAdds/removes trips from the order summary\nRecalculates the total price in real-time\nStores order data in a structured format\n\n3. Form Validation\nValidates required fields (name, email)\nChecks email format (must contain \"@\")\nDisplays error messages for invalid inputs\n\n4. Order Submission\nShows a confirmation alert with order details\nClears all forms and resets the UI after submission\n\n\u0026nbsp;\n \n## 💡 Technologies\n![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge\u0026logo=html5\u0026logoColor=white)\n![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge\u0026logo=css3\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/JavaScript-grey?style=for-the-badge\u0026logo=javascript)\n\n\n\u0026nbsp;\n \n## 🔗 See also\n\nAre you interested in **SCSS** and **JavaScript**? See my other project [Landing Page MGUU](https://code-mike-code.github.io/landing_page_project/).\n\n\u0026nbsp;\n \n## 💿 Installation\n\nNo Required\n\n\n\u0026nbsp;\n\n## 💭 Conclusions for future projects\n\nDynamic Content Handling - Event delegation is crucial when working with DOM elements created after page load. CSV Parsing - Special characters require robust parsing logic beyond simple split(). State Management - A centralized \"basket\" array simplifies order tracking and calculations. Validation Feedback - Inline error messages improve UX more than generic alerts. This project demonstrates practical JavaScript skills including DOM manipulation, form handling, and data processing - all while maintaining clean, maintainable code.\n\n\n\u0026nbsp;\n\n## 🙋‍♂️ Feel free to Reach Out!\nIf you have questions, ideas, or just want to chat about code (or the meaning of life), don’t hesitate to contact me. Open an issue, drop me a pull request, or send a message—carrier pigeon works too, but GitHub might be faster. Let’s build something awesome together! 🚀\n\n\n\u0026nbsp;\n\n## 👏 Thanks / Special thanks / Credits\nThanks to my [Mentor - devmentor.pl](https://devmentor.pl/) – for providing me with this task and for code review.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-mike-code%2Fexcursions-order-panel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-mike-code%2Fexcursions-order-panel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-mike-code%2Fexcursions-order-panel/lists"}