{"id":21434404,"url":"https://github.com/serguun42/airport-frontend","last_synced_at":"2026-04-13T21:02:58.092Z","repository":{"id":128965744,"uuid":"500481961","full_name":"serguun42/airport-frontend","owner":"serguun42","description":"Frontend for Airport Project built with React 18","archived":false,"fork":false,"pushed_at":"2023-06-11T13:33:29.000Z","size":1282,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T09:11:32.107Z","etag":null,"topics":["openapi","react"],"latest_commit_sha":null,"homepage":"https://airport.serguun42.ru","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serguun42.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":"2022-06-06T15:08:50.000Z","updated_at":"2023-07-25T08:43:53.000Z","dependencies_parsed_at":"2023-07-27T05:15:34.049Z","dependency_job_id":null,"html_url":"https://github.com/serguun42/airport-frontend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serguun42%2Fairport-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serguun42%2Fairport-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serguun42%2Fairport-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serguun42%2Fairport-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serguun42","download_url":"https://codeload.github.com/serguun42/airport-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945529,"owners_count":20372894,"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":["openapi","react"],"created_at":"2024-11-22T23:35:42.218Z","updated_at":"2026-04-13T21:02:58.012Z","avatar_url":"https://github.com/serguun42.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Airport Project Frontend\n\nFrontend for Airport Project built with React 18.\n\n## Configuration, building and launching\n\nAll configuration, npm and webpack scripts are modified ones from `react-scripts eject` with specific purposes of this project.\n\n### Commands\n\n- `npm i --production` – Install only necessary npm dependencies. Or install everything with `npm i` for development.\n- `npm run start` – Start dev server. File `.env.production` won't be used so consider creating [local environment file](#local-environment)\n- `npm run build` – [More about environment and builds](#sites-build-environment)\n- `npm run lint` – Check project with `eslint`\n- `npm run generate-openapi-redoc` – Build static Redoc API – [more about API](#api)\n\n### Sites build environment\n\n- `npm run build` – Generate frontend using environment file [`.env.production`](./.env.production)\n\n[`.env.production`](./.env.production) contains environment variables for building scripts and for client usage. Some of those env variables:\n\n| name                        | description/type                                                                                                        |\n| --------------------------- | ----------------------------------------------------------------------------------------------------------------------- |\n| `REACT_APP_VERSION`         | Same as in [`package.json`](./package.json). Used for client cache control                                              |\n| `BUILD_PATH`                | Build directory for webpack output                                                                                      |\n| `GENERATE_SOURCEMAP`        | Explicitly set to `false` (but modification in [`webpack.config.js`](./config/webpack.config.js#L32) allows to skip it) |\n| `PUBLIC_URL`                | Root of project                                                                                                         |\n| `REACT_APP_PRIMARY_COLOR`   | Hex color, used in [manifest](./config/manifest.template.json) and [`index.html`](./public/index.html) templates        |\n| `REACT_APP_ANDROID_APP_URL` | Link to APK-file                                                                                                        |\n| `REACT_APP_ANDROID_APP_URL` | APK filename                                                                                                            |\n\nYou may pass more variables, see standard `react-scripts` and `webpack` docs.\n\n### Local environment\n\nYou may create own local env (e.g. [.env.development.local](./.env.development.local)). It needs everything from [build env](#sites-build-environment) and contains optional values:\n\n- set `HTTPS=true` to use https on local development server. If applied, set `SSL_CRT_FILE` and `SSL_KEY_FILE` as paths to certificate and key files.\n- `PORT` – port of dev server.\n- `API_PROXY_TARGET` and `API_PROXY_TOKEN` – if set, webpack will proxy requests to `/api` to target with stated proxy – see [webpack.createDevServerConfig.js](./config/webpack.createDevServerConfig.js#L78).\n- `DISABLE_ESLINT_PLUGIN=true` – disables esling plugin for webpack (warning overlay).\n\n### Manifest and PWA\n\nManifest is built with `npm run build` from [template](./config/manifest.template.json) in [`scripts/build`](./scripts/build.js#L213). PWA is controlled by [Service Worker](./public/service-worker.js) (_Cache first for static, network first for API_) and [`cache.js`](./src/util/cache.js).\n\n## API\n\nOpenAPI docs available at [`api.yml`](./public/docs/api.yml). Project uses Swagger UI in runtime and precompiled Redoc `.html` bundle.\n\n- `npm exec -- ts-to-openapi -f types/*.d.ts` – Convert Typescript defenitions to YAML format (_for new types_).\n- `npm run generate-openapi-redoc` – Build static Redoc API\n\n---\n\n### [BSL-1.0 License](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserguun42%2Fairport-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserguun42%2Fairport-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserguun42%2Fairport-frontend/lists"}