{"id":18074202,"url":"https://github.com/anaida07/people_management","last_synced_at":"2026-04-10T11:03:19.092Z","repository":{"id":70158992,"uuid":"242163388","full_name":"anaida07/people_management","owner":"anaida07","description":"An Express.js and Vue.js application","archived":false,"fork":false,"pushed_at":"2020-03-02T16:11:11.000Z","size":4806,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T18:52:18.178Z","etag":null,"topics":["expressjs","full-stack","mongodb","mongoose","nodejs","sample-app","sample-application","vue","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/anaida07.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":"2020-02-21T14:53:57.000Z","updated_at":"2020-08-18T07:50:51.000Z","dependencies_parsed_at":"2023-03-13T20:24:35.820Z","dependency_job_id":null,"html_url":"https://github.com/anaida07/people_management","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anaida07/people_management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaida07%2Fpeople_management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaida07%2Fpeople_management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaida07%2Fpeople_management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaida07%2Fpeople_management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anaida07","download_url":"https://codeload.github.com/anaida07/people_management/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaida07%2Fpeople_management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31639524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["expressjs","full-stack","mongodb","mongoose","nodejs","sample-app","sample-application","vue","vuejs"],"created_at":"2024-10-31T10:11:40.131Z","updated_at":"2026-04-10T11:03:19.078Z","avatar_url":"https://github.com/anaida07.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# People Management\n\nPeople Management is a Vuejs / Expressjs web application which demonstrates a simple application which manages users with features such as listing users, viewing details of a particular user, ability to search users based on any attributes that they have in a single field or multiple fields, and ability to sort and order users.\n\n\u003cimg alt=\"People Management\" src=\"people_management.gif\"\u003e\n\n## Technologies Used\n- Vue js for Frontend\n- Express js for Backend\n- Mongoose as a data storage\n\n## Prerequisites\n- Node js \u003e= 12\n- Yarn(1.22.0) as package manager\n\n*Note: To upgrade yarn run `curl --compressed -o- -L https://yarnpkg.com/install.sh | bash` and restart terminal*\n\n## Setup Frontend\n``` bash\ncd client\n# install dependencies\nyarn install\n\n# serve with hot reload at localhost:8080\nyarn start\n\n# build for production with minification\nyarn build\n\n# build for production and view the bundle analyzer report\nyarn build --report\n\n# run unit tests\nyarn unit\n```\n\n## Setup Backend\n``` bash\ncd server\n# install dependencies\nyarn install\n\n# start server at localhost:8081\nyarn start\n```\n*Note: No need to setup Mongoose DB as this application uses MLab which is a Database as a Service. When you create users from the API, it will automatically stored in the mongo database used by this application.*\n\n**Open `localhost:8080` in the browser to access the application.**\n\n## Features\n### User Listing\n- The application home page lists users in a tabular form. Few attributes are displayed in the table (Name, Location, Email, Status) which are also filterable and few attributes (Profile Picture, Date of Birth and Contact Number) are hidden in the table. And a view button which when clicked displays the user detail.\n\n- There is a pagination which allows to navigate to different pages when there are mmany users. The per page count is set as 7.\n\n- We can sort and order on the basis of any of these four columns by clicking on a table header.\n\n### User Detail\n- 'View' button in listing page triggers a modal box which displays all the information about the user.\n\n### User Search\n- The application home page has a section for searching users. There are four filters available right now - Name, Location, Email and Status. We can search in any of these fields of as a whole combined, So when we search something without selecting the filter, it searches on all of the four fields to render the matched users.\n\n- We can either search by clicking 'Filter' button or pressing enter after typing in the search text.\n\n## Express APIs\n\n### Add a user\n```\nURL: http://localhost:8081/users\nMethod: POST\nParameter Body: {\n  \"name\": \"Joe Hunter\",\n  \"email\": \"joe.hunter@example.com\",\n  \"dob\": \"1/1/1995\",\n  \"location\": \"205 College St\",\n  \"contact\": \"(526)-534-5309\",\n  \"status\": \"Discarded\",\n  \"picture\": \"https://randomuser.me/api/portraits/men/9.jpg\"\n}\n```\n\n### Search users\n#### List all users\n```\nURL: http://localhost:8081/search\nMethod: GET\n```\n\n#### Search for a user whose name is joe\n```\nURL: http://localhost:8081/search?name=joe\nMethod: GET\n```\n\n#### Search for a users whose status is Discarded\n```\nURL: http://localhost:8081/search?status=discarded\nMethod: GET\n```\nAll of these APIs are implemented with pagination, sorting and ordering\n\n## Things to be implemented next\n- e2e tests\n- Edit a user from backend\n- Data validation while creating and editing a user\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanaida07%2Fpeople_management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanaida07%2Fpeople_management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanaida07%2Fpeople_management/lists"}