{"id":15581205,"url":"https://github.com/eduardo06sp/flight-booker","last_synced_at":"2026-04-29T15:03:47.292Z","repository":{"id":37278847,"uuid":"492674380","full_name":"Eduardo06sp/flight-booker","owner":"Eduardo06sp","description":"A mobile-friendly web application where visitors may book a one-way flight for multiple passengers.","archived":false,"fork":false,"pushed_at":"2023-01-10T00:22:47.000Z","size":276,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T05:04:02.335Z","etag":null,"topics":["heroku","minitest","rails","responsive","ruby","ruby-on-rails","testing"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/Eduardo06sp.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}},"created_at":"2022-05-16T03:45:55.000Z","updated_at":"2023-01-10T00:22:53.000Z","dependencies_parsed_at":"2023-02-08T16:16:35.580Z","dependency_job_id":null,"html_url":"https://github.com/Eduardo06sp/flight-booker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Eduardo06sp/flight-booker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eduardo06sp%2Fflight-booker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eduardo06sp%2Fflight-booker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eduardo06sp%2Fflight-booker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eduardo06sp%2Fflight-booker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eduardo06sp","download_url":"https://codeload.github.com/Eduardo06sp/flight-booker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eduardo06sp%2Fflight-booker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32430803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["heroku","minitest","rails","responsive","ruby","ruby-on-rails","testing"],"created_at":"2024-10-02T19:41:59.109Z","updated_at":"2026-04-29T15:03:47.274Z","avatar_url":"https://github.com/Eduardo06sp.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flight Booker\n![A screenshot displaying the website with flight results](https://i.postimg.cc/VvzMmZZt/Screenshot-from-2022-06-28-21-38-06.png)\n\nA mobile-friendly web application where visitors may book a one-way flight for multiple passengers.\n\n## General Information\nFlight Booker is the easiest place to book your next flight! Visitors may search for then select a flight, and then they may add details for each passenger.\n\nBookings and passengers are created and saved simultaneously.\n\nThis project was created using Rails 7 and Ruby 3.1.2. Minitest, Capybara, and Selenium were used to create system and functional tests alongside fixtures. Search results are updated using Turbo Frames, which allows the app to target and update only the relevant part of the page. To avoid an excess amount of forms, passengers are created with bookings simultaneously through the use of nested forms.\n\n## Installing / Getting Started\n\u003e Prerequisites:\n\u003e * Ruby \u003e= 3.1.2\n\u003e * Rails \u003e= 7.0.3\n\u003e * Bundler \u003e= 2.3.6\n\u003e * PostgreSQL \u003e= 14.3\n\n```bash\ngit clone https://github.com/Eduardo06sp/flight-booker.git\ncd flight-booker/\nbundle install\nbin/rails server\n```\n\nThen visit http://localhost:3000/ to view the application.\n\n### Running System / Functional Tests\n\u003e Prerequisites:\n\u003e\n\u003e FireFox \u003e= 101 (may work on older versions)\n\nWithin the cloned `flight-booker` folder, run:\n```bash\nbin/rails test:all\n```\n\nTo exclude resource-heavy system tests, run:\n```bash\nbin/rails test\n```\n\n## Features\n* Nested forms to create multiple objects with a single submission\n* Database seeds to populate application with sample, starter data\n* System \u0026 functional tests to ensure proper application functionality\n* Dynamic addition/removal of passengers using Stimulus\n* Fast searching using Turbo Frames\n* Responsive design\n* Confirmation emails (*note:* only available in a local clone, not live / deployed)\n\n## Reporting Issues / Feedback / Contact\nBug reports are greatly appreciated. You may create a new issue with a simple description of the problem, and any steps leading up to it.\nPRs are kindly appreciated.\n\nYou may also email me at: eduardopelaez@pm.me\n\n## Acknowledgements\n\n* [The Odin Project](https://www.theodinproject.com/home), the best resource I have come across for learning full-stack web development\n  - For providing the idea for this project ([see the instructions for this project here!](https://www.theodinproject.com/lessons/ruby-on-rails-flight-booker))\n  - For their absolutely wonderful Discord community\n\n* The Noun Project [artist Phạm Thanh Lộc](https://thenounproject.com/thanhloc1009/) for [the \"Plane\" art](https://thenounproject.com/icon/plane-2322367/) (used as a favicon)\n\n* The Noun Project [artist Whales Factory](https://thenounproject.com/whales.factory/) for [the \"Flight On\" art](https://thenounproject.com/icon/flight-on-4179048/) (used as a logo)\n\n* Flaticon [artist Kliwir Art](https://www.flaticon.com/authors/kliwir-art) for [the plus icon art](https://www.flaticon.com/premium-icon/plus_4315609?term=plus\u0026page=1\u0026position=6\u0026page=1\u0026position=6\u0026related_id=4315609\u0026origin=tag) (used in the button to add passengers)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduardo06sp%2Fflight-booker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feduardo06sp%2Fflight-booker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduardo06sp%2Fflight-booker/lists"}