{"id":19620667,"url":"https://github.com/nakov/contactbook","last_synced_at":"2025-04-28T03:32:08.926Z","repository":{"id":58297066,"uuid":"340614511","full_name":"nakov/ContactBook","owner":"nakov","description":"ContactBook JS App + RESTful API","archived":false,"fork":false,"pushed_at":"2021-02-28T22:33:43.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":16,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T05:51:12.134Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/nakov.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}},"created_at":"2021-02-20T09:29:21.000Z","updated_at":"2025-03-30T09:26:12.000Z","dependencies_parsed_at":"2022-08-31T16:30:34.797Z","dependency_job_id":null,"html_url":"https://github.com/nakov/ContactBook","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/nakov%2FContactBook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nakov%2FContactBook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nakov%2FContactBook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nakov%2FContactBook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nakov","download_url":"https://codeload.github.com/nakov/ContactBook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251246169,"owners_count":21558759,"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":[],"created_at":"2024-11-11T11:19:38.875Z","updated_at":"2025-04-28T03:32:08.618Z","avatar_url":"https://github.com/nakov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ContactBook JS App + RESTful API\r\n\r\nThe JS app \"Contact Book\" holds a searcheable list of contacts. It supports the following operations:\r\n - List all contact: `/contacts`\r\n - View single contact (by id): `/contacts/:id`\r\n - Search for contact: `/contacts/search/:keyword`\r\n - Add a new contact (first name + last name + email + phone + comments): `/contacts/create`\r\n\r\n## App Details\r\n\r\nThe app is based on Node.js + Express.js + Pug.\r\n - It has **no database** and app data is not persistent!\r\n\r\n## Live Demo\r\n - Web app live demo: https://contactbook.nakov.repl.co\r\n - RESTful API live demo: https://contactbook.nakov.repl.co/api\r\n - Play with the code at: https://repl.it/@nakov/contactbook\r\n\r\n## RESTful API\r\n\r\nThe following endpoints are supported:\r\n - `GET /api` - list all API endpoints\r\n - `GET /api/contacts` - list all contacts\r\n - `GET /api/contact/:id` - returns a contact by given `id`\r\n - `GET /api/contacts/search/:keyword` - list all contacts matching given keyword\r\n - `POST /api/contacts` - create a new contact (post a JSON objects in the request body, e.g. `{\"firstName\":\"Marie\", \"lastName\":\"Curie\", \"email\":\"marie67@gmail.com\", \"phone\":\"+1 800 200 300\", \"comments\":\"Old friend\"}`\r\n\r\n## Screenshots\r\n\r\n![image](https://user-images.githubusercontent.com/1689586/108591573-19212280-7372-11eb-9cc1-e7945aab8cdc.png)\r\n\r\n![image](https://user-images.githubusercontent.com/1689586/108591576-1cb4a980-7372-11eb-8ae9-12ebe022dfab.png)\r\n\r\n![image](https://user-images.githubusercontent.com/1689586/108591580-1f170380-7372-11eb-9bde-b4d813a0a693.png)\r\n\r\n![image](https://user-images.githubusercontent.com/1689586/108591583-2211f400-7372-11eb-8f98-3f855cce4c5c.png)\r\n\r\n![image](https://user-images.githubusercontent.com/1689586/108591584-24744e00-7372-11eb-8c1a-8265a8695158.png)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnakov%2Fcontactbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnakov%2Fcontactbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnakov%2Fcontactbook/lists"}