{"id":21726876,"url":"https://github.com/angelfire/hackermaps","last_synced_at":"2026-04-11T11:04:24.114Z","repository":{"id":71332603,"uuid":"345825756","full_name":"Angelfire/hackermaps","owner":"Angelfire","description":"Hackermaps - Hackerrank VueJS assessment ","archived":false,"fork":false,"pushed_at":"2021-03-09T00:02:14.000Z","size":155,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-14T21:53:49.280Z","etag":null,"topics":["hackermaps","hackerrank","vuejs"],"latest_commit_sha":null,"homepage":"","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/Angelfire.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-08T23:37:26.000Z","updated_at":"2023-03-01T17:11:25.000Z","dependencies_parsed_at":"2023-06-29T10:30:52.819Z","dependency_job_id":null,"html_url":"https://github.com/Angelfire/hackermaps","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/Angelfire%2Fhackermaps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Angelfire%2Fhackermaps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Angelfire%2Fhackermaps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Angelfire%2Fhackermaps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Angelfire","download_url":"https://codeload.github.com/Angelfire/hackermaps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244706537,"owners_count":20496571,"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":["hackermaps","hackerrank","vuejs"],"created_at":"2024-11-26T03:40:29.538Z","updated_at":"2026-04-11T11:04:24.074Z","avatar_url":"https://github.com/Angelfire.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hackermaps\n\n## Environment \n\n- Vue Version: ^3.0.0\n- Node Version: v12 (LTS)\n- Default Port: 8000\n\n## Application Demo:\n\n![Project Preview](https://hrcdn.net/s3_pub/istreet-assets/TmGRAMBIdTiDH4t9b4xOCg/ezgif.com-video-to-gif.gif)\n\n## Functionality Requirements\nThe app has one component: the Navigation view. The list of locations to be displayed is already provided in the app. \n\nThe app should implement the following functionalities:\n\n- The locations should be initially displayed in their respective `\u003cli\u003e` tags in the same order in which they are provided.\n\n- Each location can have one or two icon buttons depending on its position in the list:\n\n  - The first location should only have the Move Down icon button. \n\n  - The last location should only have the Move Up icon button.\n\n  - All the other locations should have both the Move Up and the Move Down buttons.\n\n- Clicking on the Move Down button should move the location down by one position in the list.\n\n- Similarly, clicking the Move Up button should move the location up by one position in the list.\n\n- When a location is moved either up or down, it should exchange its position with the location positioned just above (if moving up) or below (if moving down).\n\n- The list of locations is passed as props to the Navigation component.\n\n\nThe locations list is an array of strings, with each item representing a location in the list.\n\n```text\nNote: Utility function isLast is provided to help with computing if the current location is the last item in the list. Also, the function getClasses is present in the template to aid in rendering. Please do not modify this function. \n```\n\n## Testing Requirements\n\nThe following data-testid/class attributes are required in the component for the tests to pass:\n\n- The parent container of the location list `\u003cul\u003e` should have the data-testid attribute 'location-list'.\n\n- Each location item in the list should have the data-testid attribute 'location-0', 'location-1', 'location-2', and so on.\n\n- Each location name paragraph tag `\u003cp\u003e` should have the data-testid attribute 'location'.\n\n- Each Move Up button should have the data-testid attribute 'up-button'.\n\n- Each Move Down button should have the data-testid attribute 'down-button'.\n\n\nPlease note that the component has the above data-testid attributes for test cases and certain classes and ids for rendering purposes. It is advised not to change them.\n\n## Project Specifications\n\n**Read Only Files**\n- `__tests__/*`\n\n**Commands**\n- run: \n```bash\nbash bin/env_setup \u0026\u0026 . $HOME/.nvm/nvm.sh \u0026\u0026 npm start\n```\n- install: \n```bash\nbash bin/env_setup \u0026\u0026 . $HOME/.nvm/nvm.sh \u0026\u0026 npm install\n```\n- test: \n```bash\nbash bin/env_setup \u0026\u0026 . $HOME/.nvm/nvm.sh \u0026\u0026 npm test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelfire%2Fhackermaps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelfire%2Fhackermaps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelfire%2Fhackermaps/lists"}