{"id":18578744,"url":"https://github.com/cdleveille/copterjs","last_synced_at":"2026-02-12T13:33:36.128Z","repository":{"id":41867544,"uuid":"449399843","full_name":"cdleveille/copterjs","owner":"cdleveille","description":"Modern remake of the classic addicting flash game.","archived":false,"fork":false,"pushed_at":"2025-02-26T19:36:33.000Z","size":1560,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-16T02:11:59.241Z","etag":null,"topics":["babel","browser-game","express","game-remake","helicopter","helicopter-game","html5-canvas","html5-game","mikro-orm","mongodb","mongoose","nodejs","socket-io","typescript","webpack"],"latest_commit_sha":null,"homepage":"https://copterjs.fly.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdleveille.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,"zenodo":null}},"created_at":"2022-01-18T18:24:32.000Z","updated_at":"2025-02-26T19:36:36.000Z","dependencies_parsed_at":"2025-05-16T02:22:04.613Z","dependency_job_id":null,"html_url":"https://github.com/cdleveille/copterjs","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/cdleveille/copterjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdleveille%2Fcopterjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdleveille%2Fcopterjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdleveille%2Fcopterjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdleveille%2Fcopterjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdleveille","download_url":"https://codeload.github.com/cdleveille/copterjs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdleveille%2Fcopterjs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260268570,"owners_count":22983599,"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":["babel","browser-game","express","game-remake","helicopter","helicopter-game","html5-canvas","html5-game","mikro-orm","mongodb","mongoose","nodejs","socket-io","typescript","webpack"],"created_at":"2024-11-06T23:37:13.418Z","updated_at":"2026-02-12T13:33:31.107Z","avatar_url":"https://github.com/cdleveille.png","language":"TypeScript","readme":"# copterjs\n\nModern remake of the classic addicting flash game.\n\nPlay on fly.io: [copterjs.fly.dev](https://copterjs.fly.dev)\n\n![screenshot](https://user-images.githubusercontent.com/1410481/163531396-d0a021b6-2a70-44d7-ada4-60f716c775b8.png)\n\n## Technologies\n\n-   [Node.js](https://nodejs.org/en/)\n-   [TypeScript](https://www.typescriptlang.org/)\n-   [HTML5 Canvas](https://www.w3schools.com/html/html5_canvas.asp)\n-   [Webpack](https://webpack.js.org/)\n-   [Babel](https://babeljs.io/)\n-   [Socket.IO](https://socket.io/)\n-   [Express](http://expressjs.com/)\n-   [Mongoose](https://mongoosejs.com/)\n-   [MongoDB](https://www.mongodb.com/)\n\n## Local Setup\n\nInstall prerequisites:\n\n-   [Node.js](https://nodejs.org/en/download/)\n-   [Visual Studio Code](https://code.visualstudio.com/download)\n-   [Yarn](https://classic.yarnpkg.com/en/) (`npm i -g yarn`)\n\nOptional (for database-related development only):\n\n-   [Docker Desktop](https://www.docker.com/products/docker-desktop) (plus [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-manual) if on Windows)\n-   [Docker VS Code Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker)\n\nSet up dev environment:\n\n-   Clone repo and open root folder in VS Code.\n-   Install recommended VS Code extensions to conform to project linting/formatting config:\n    -   [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n    -   [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n    -   [EditorConfig](https://marketplace.visualstudio.com/items?itemName=editorconfig.editorconfig)\n    -   [TypeScript Import Sorter](https://marketplace.visualstudio.com/items?itemName=mike-co.import-sorter)\n-   Run `yarn` in the terminal to install package dependencies.\n-   Create and populate a `.env` file in the root folder based on the `.env.example` file, which contains default environment variable values for a dev environment.\n-   Optionally switch the `USE_DB` environment variable to `false` and skip the \"Set up dev database\" instructions below if there is no need for a dev database.\n\nSet up dev database (only required if `USE_DB=true` in the `.env` file):\n\n-   Open Docker Desktop and leave it running in the background.\n-   In VS Code, right-click on `/.copterjs-dev-container/docker-compose.yml` and select `Compose Up`.\n\nLaunch:\n\n-   Run `yarn dev` to concurrently run the server via ts-node-dev and the client via webpack in watch mode. This will cause either to automatically restart whenever a change is made to any of their respective source code files. The client will be accessible on [localhost:3000](http://localhost:3000).\n-   Alternatively, start the `debug` launch configuration in VS Code (press `F5`), which essentially runs `yarn dev` with the VS Code debugger attached to the server. The client can be debugged in the browser developer tools via source maps.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdleveille%2Fcopterjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdleveille%2Fcopterjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdleveille%2Fcopterjs/lists"}