{"id":19854014,"url":"https://github.com/eralpozcan/appletreegame","last_synced_at":"2025-02-28T21:25:53.124Z","repository":{"id":171142285,"uuid":"554845753","full_name":"eralpozcan/AppleTreeGame","owner":"eralpozcan","description":"An apple tree picking game with basic functionality using D3.js, Vue and Pinia.","archived":false,"fork":false,"pushed_at":"2023-05-30T23:47:30.000Z","size":1519,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T13:46:11.916Z","etag":null,"topics":["d3","deepsource","docker","pinia","vitest","vue3"],"latest_commit_sha":null,"homepage":"https://apple-tree-game.vercel.app","language":"Vue","has_issues":false,"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/eralpozcan.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-10-20T13:51:33.000Z","updated_at":"2023-06-05T17:39:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"886f0f39-ecb3-4f84-a120-7efee9c59ebd","html_url":"https://github.com/eralpozcan/AppleTreeGame","commit_stats":null,"previous_names":["eralpozcan/appletreegame"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eralpozcan%2FAppleTreeGame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eralpozcan%2FAppleTreeGame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eralpozcan%2FAppleTreeGame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eralpozcan%2FAppleTreeGame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eralpozcan","download_url":"https://codeload.github.com/eralpozcan/AppleTreeGame/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241243843,"owners_count":19933205,"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":["d3","deepsource","docker","pinia","vitest","vue3"],"created_at":"2024-11-12T14:08:20.412Z","updated_at":"2025-02-28T21:25:53.119Z","avatar_url":"https://github.com/eralpozcan.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eApple Tree Game\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge\u0026logo=vuedotjs\u0026logoColor=4FC08D\"\u003e\u003c/img\u003e\n\u003cimg src=\"https://img.shields.io/badge/Vite-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=FFD62E\"\u003e\u003c/img\u003e\n\u003cimg src=\"https://img.shields.io/badge/Vitest-6E9F18?style=for-the-badge\u0026logo=vitest\u0026logoColor=FCC72C\"\u003e\u003c/img\u003e\n\u003cimg src=\"https://img.shields.io/badge/D3.js-F9A03C?style=for-the-badge\u0026logo=d3.js\u0026logoColor=white\"\u003e\u003c/img\u003e \n\u003cimg src=\"https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white\"\u003e\u003c/img\u003e\n\u003cimg src=\"https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\"\u003e\u003c/img\u003e\n\n\u003c/div\u003e\n\n### 📔 **About**\n\nThis project is a mini-game that lets you collect apples from a tree. Pinia is used to store all states' central state management. Animations are made with the D3.js library. There are simple unit tests written with Vitest. Only supported on desktop devices and 1920px resolutions.\n\n\u003ch2 align=\"center\"\u003eShowcase\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Eralpozcan/AppleTreeGame/blob/main/docs/image/showcase.gif\" alt=\"Showcase Image\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Eralpozcan/AppleTreeGame/blob/main/docs/image/404.png\" alt=\"404 Page\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Eralpozcan/AppleTreeGame/blob/main/docs/image/tests.png\" alt=\"Unit Tests\" width=\"600\"\u003e\n\u003c/p\u003e\n\n### 📜 **Tasks**\n\n- [x] Vue application.\n- [x] There will be 4 objects on the screen. Apples, a tree, a basket, and a button.\n- [x] After clicking on the tree, it should be shaking for 3 seconds.\n- [x] After the shaking, the apples should be falling down separately.\n- [x] The apples should be in the basket one second after they drop.\n- [x] All effects (shaking, dropping) must be animated.\n- [x] Vuex or state management is a plus.\n\n### ☑️ **Extras**\n\n_This section contains features made outside of the main tasks._\n\n- Custom 404 error [page](https://apple-tree-game.vercel.app/test-404).\n- Basic unit tests with [Vitest](https://vitest.dev/).\n- Dockerfile is created and the container image is shared on [DockerHub](https://hub.docker.com/r/eralpozcan/appletreegame).\n- Code analysis platform DeepSource is integrated. Quality issues have been fixed. Check on [DeepSource](https://deepsource.io/gh/Eralpozcan/AppleTreeGame).\n\n### 💻 **Tech Stack**\n\n- [Vite](https://vitejs.dev/)\n- [Pinia](https://pinia.vuejs.org/)\n- [D3.js](https://d3js.org/)\n- [Vue-Router](https://router.vuejs.org/)\n- [Vitest](https://vitest.dev/)\n- [Docker](https://www.docker.com/)\n- [DeepSource](https://deepsource.io/)\n\n### #️⃣ **Commands**\n\n_Run on Local Machine_\n\n```sh\ngit clone https://github.com/Eralpozcan/AppleTreeGame.git   // Clone the repository.\ncd AppleTreeGame                                            // Change directory.\nnpm install                                                 // Install dependencies.\nnpm run dev                                                 // Run development mode.\nnpm run test:unit                                           // Execute unit tests.\nnpm run build                                               // Build the project.\n```\n\n\u003e After this command, the production files will be generated under `dist/` directory.\n\n##\n\n_Run on Docker_\n\n```docker\ndocker run --rm -d -p 80:80 --name apple-tree-game eralpozcan/appletreegame\n```\n\n\u003e After this command, the container will run on [localhost](http://localhost/).\n\n\u003cp align=\"right\"\u003e\u003cimg src=\"https://komarev.com/ghpvc/?username=EralpozcanAppleTreeGame\u0026style=flat\u0026label=Views\u0026color=blue\" alt=\"View Counter\"\u003e\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feralpozcan%2Fappletreegame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feralpozcan%2Fappletreegame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feralpozcan%2Fappletreegame/lists"}