{"id":19149034,"url":"https://github.com/yas-siin/taskmanager","last_synced_at":"2025-05-07T04:25:47.067Z","repository":{"id":116254859,"uuid":"579593292","full_name":"YAS-SIIN/TaskManager","owner":"YAS-SIIN","description":"A small application using react and node js to manage tasks.","archived":false,"fork":false,"pushed_at":"2024-10-20T16:00:37.000Z","size":1967,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-19T18:31:23.984Z","etag":null,"topics":["express","javascript","json","nodejs","react","redux","redux-toolkit","typescript"],"latest_commit_sha":null,"homepage":"","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/YAS-SIIN.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-12-18T07:57:10.000Z","updated_at":"2024-10-29T10:16:52.000Z","dependencies_parsed_at":"2025-04-19T15:50:34.946Z","dependency_job_id":"afa053ee-754e-450a-bf5a-801acea6262c","html_url":"https://github.com/YAS-SIIN/TaskManager","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/YAS-SIIN%2FTaskManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FTaskManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FTaskManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FTaskManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YAS-SIIN","download_url":"https://codeload.github.com/YAS-SIIN/TaskManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252812025,"owners_count":21808064,"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":["express","javascript","json","nodejs","react","redux","redux-toolkit","typescript"],"created_at":"2024-11-09T08:06:07.544Z","updated_at":"2025-05-07T04:25:47.045Z","avatar_url":"https://github.com/YAS-SIIN.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Manager\nA small application using react and node js to manage tasks.\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n##### `yarn` \nRun yarn to install the dependencies in package.json \n \n##### `yarn start` \nRuns the app in the development mode.\\\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\nThe page will reload if you make edits.\\\nYou will also see any lint errors in the console.\n \n\n##### `yarn server` \nRuns the REST Api server.\\\nOpen [http://localhost:8080](http://localhost:8080) to view it in the browser.\nFor example you can test this link \n[http://localhost:8080/api/getAbsences](http://localhost:8080/api/getAbsences)\n\n##### `yarn test` \nLaunches the test runner in the interactive watch mode.\\\n\n##### `yarn build`\nBuilds the app for production to the `build` folder.\\\n \n## Documantation\nThe project consists of a serverside back-end and a react client.\nThe server-side application was programmed using Node Express which exposes a REST Api that the client can use.\nThe client-side instance was made with ReactJs and Redux Toolkit.\n\n##### Inside of server\n\n- **[getAbsences](#http://localhost:8080/api/getAbsences)** service method to retrieve absences data (`POST /api/getAbsences`)\n\n**set input :**\n```json\n    { \"startDate\": \"2020-01-01\", \"endDate\": \"2020-12-29\", \"type\": \"vacation|sickness\" }\n```\n**will output :**\n   \n```json\n    [{\n      \"admitterId\": null,\n      \"admitterNote\": null,\n      \"confirmedAt\": null,\n      \"createdAt\": null,\n      \"crewId\": null,\n      \"endDate\": null,\n      \"id\": null,\n      \"memberNote\": null,\n      \"rejectedAt\": null,\n      \"startDate\": null,\n      \"type\": null,\n      \"userId\": null,\n      \"memberName\": null\n    }]\n```\n- **[getMembers](#http://localhost:8080/api/getMembers)** service method to retrieve members data (`POST /api/getMembers`)\n\n**will output :**\n\n```json\n    [{\n      \"crewId\": null,\n      \"id\": null,\n      \"image\": null,\n      \"name\": null,\n      \"userId\": null\n    }]\n```\n\n- **[getAbsence](#http://localhost:8080/api/getAbsence)** service method to retrieve a record of absence by id (`GET /api/getAbsence/id`)\n\n**will output :**\n\n```json\n    {\n      \"admitterId\": null,\n      \"admitterNote\": null,\n      \"confirmedAt\": null,\n      \"createdAt\": null,\n      \"crewId\": null,\n      \"endDate\": null,\n      \"id\": null,\n      \"memberNote\": null,\n      \"rejectedAt\": null,\n      \"startDate\": null,\n      \"type\": null,\n      \"userId\": null,\n      \"memberName\": null\n    }\n``` \n\n- **[getMember](#http://localhost:8080/api/getMember)** service method to retrieve a record of member by id (`GET /api/getMember/id`)\n\n**will output :**\n\n```json\n    {\n      \"crewId\": null,\n      \"id\": null,\n      \"image\": null,\n      \"name\": null,\n      \"userId\": null\n    }\n```\n\n##### Inside of client\n\n- There is a page with 3 filters, include: `Start Date, End Date, Absence Type` \n- When The page is loading, there are 3 state : `loading, error, absence(payload)`\n     - loading : waiting for get data\n     - error : get error\n     - absence : absence data\n- After getting data, data is shown in Datatable\n\n ![Screen Shot](/public/Screenshot.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyas-siin%2Ftaskmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyas-siin%2Ftaskmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyas-siin%2Ftaskmanager/lists"}