{"id":16738069,"url":"https://github.com/20lives/fareplace","last_synced_at":"2025-06-25T13:05:36.186Z","repository":{"id":218259247,"uuid":"503221090","full_name":"20lives/fareplace","owner":"20lives","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-14T23:53:40.000Z","size":146,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-04T08:20:57.972Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/20lives.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}},"created_at":"2022-06-14T05:30:13.000Z","updated_at":"2024-01-20T17:44:53.000Z","dependencies_parsed_at":"2024-01-20T20:03:04.924Z","dependency_job_id":null,"html_url":"https://github.com/20lives/fareplace","commit_stats":null,"previous_names":["20lives/fareplace"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/20lives/fareplace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20lives%2Ffareplace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20lives%2Ffareplace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20lives%2Ffareplace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20lives%2Ffareplace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/20lives","download_url":"https://codeload.github.com/20lives/fareplace/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/20lives%2Ffareplace/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261879306,"owners_count":23223738,"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":"2024-10-13T00:29:08.553Z","updated_at":"2025-06-25T13:05:36.161Z","avatar_url":"https://github.com/20lives.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FarePlace - flights api\n\nbasic functionality to search a flight from a data source by given params.\n\n## getting started\n\nMake sure you have a recent node version installed (17+), also install a package manager (npm / yarn / pnpm)\n\n1. clone this repository.\n2. install dependencies: `npm install`\n3. run the development server: `npm run dev` \n  * the script above  will trigger a development server on port 4040 that will automatically reload when detecting changes. \n4. to run linting use `npm run lint # yarn lint` or `npm run lint --fix` to automatically fix linting issue.\n\n## API Endpoints\n\n* GET /itinerary/priceWithConnection - Given a date and two airports, return all possible one-way itineraries between the origin airport and the destination airport, including connecting flights(up to 2 layovers)\n\n```\ncurl -X 'GET' \\\n  'http://localhost:4040/priceWithConnection?from=JFK\u0026to=MEX\u0026date=2022-01-18' \\ -H 'accept: application/json'\n```\n\n## What's missing / can be added \u0026 other notes\n* type system and type validation: no input validations implemented. in addition using types might also help.\n* csv is parsed each run, could be saved in any database.\n* caching wasn't added.\n* results are sent in json and not jsonl.\n* `/itinerary/priceAllRoundTrip` was not added.\n* no tests\n* Unlimited layovers count is supported by configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F20lives%2Ffareplace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F20lives%2Ffareplace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F20lives%2Ffareplace/lists"}