{"id":22170791,"url":"https://github.com/melitus/developer-api","last_synced_at":"2026-04-09T09:38:36.112Z","repository":{"id":166348578,"uuid":"641803229","full_name":"melitus/developer-api","owner":"melitus","description":"Design and implementation of Developer Api interface","archived":false,"fork":false,"pushed_at":"2023-11-03T09:42:03.000Z","size":86,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T22:26:52.902Z","etag":null,"topics":["docker","docker-compose","javascript","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/melitus.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}},"created_at":"2023-05-17T07:45:29.000Z","updated_at":"2023-05-17T09:06:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc05dd7b-b088-4962-8c45-a2db7e8efff5","html_url":"https://github.com/melitus/developer-api","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/melitus%2Fdeveloper-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melitus%2Fdeveloper-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melitus%2Fdeveloper-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melitus%2Fdeveloper-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/melitus","download_url":"https://codeload.github.com/melitus/developer-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245319813,"owners_count":20596042,"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":["docker","docker-compose","javascript","nodejs","typescript"],"created_at":"2024-12-02T06:56:00.447Z","updated_at":"2025-12-30T23:27:27.809Z","avatar_url":"https://github.com/melitus.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Developer API Interface\n\n## Design and implementation of Developer Api interface\n\n# Problem description\n\nThe following is about designing and implementing an interface with the following main functions:\n\n- Create, edit, view and delete developer entities via an interface.\n- The dataset should also be persisted.\n- The implementation includes different focal points from different areas, which in combination result in an application.\n\n## These are your specifications:\n\nDefault Technologies:\n\n- Typescript\n\n- Node.js\n\n- Express.js or Nest.js\n\n- Docker and Docker Compose\n\n- Any database (e.g. Redis, SQL, MongoDB ...).\n\nThe rest is up to you.\n\n### Default data models:\n- Developer model: id, name, email, level (senior or junior).\n\n\n\n### The implementation is divided into several sub-areas / focal points:\n\n1. implementation of the interface\n\n- Return of all developers\n\n- Filtering by level\n\n- Return of a specific developer\n\n- Creation of a developer with the developer model defined above\n\n- Editing a developer\n\n- Deleting a developer\n\n2. orchestration\n\n- The application is to be implemented as a Docker container\n\n- The application and the Redis database should be integrated into docker-compose.\n\n\n# Tools\n\n- NodeJS\n- Express\n- Typescript\n- Mongodb\n- Mongoose\n- Docker\n- Docker compose\n\n ## Set Up\n\nThe easiest way to get started is to clone the repository:\n\n# clone the repository\n\n```\ngit clone https://github.com/melitus/developer-api.git\n```\n\n# Change directory\n\n```\ncd developer-api\n```\n\n# Install NPM dependencies\n\n```\nyarn install\n```\n```\ncreate .env file at the root directory\n```\nSamples:\n\n- NODE_ENV=development\n- APP_PORT=3001\n\n# Database\n- MONGODB_USER=xxx\n- MONGODB_PASSWORD=xxx\n- MONGODB_DATABASE=xxxx\n- MONGODB_DOCKER_PORT=27017\n\n\n# start the server without docker\n\n```\nyarn run dev\n```\n# # start the server with docker\n\n```\ndocker-compose up or sudo docker-compose up\n```\n\n# To test the endpoint on postman\nI used postman to test the api.\nTo use postman, go to the project doc folder and import the docs file into your postman client to ease the testing\n\n\n## Developers Endpoints\n\n- Create a developer - `http://localhost:3001/v1/api/developer`\n\n- Get all developers - `http://localhost:3001/v1/api/developer`\n\n- Get a specific developer - `http://localhost:3001/v1/api/developer/644f977b19b115001ce4e306`\n\n- Get developers filtered by level - `http://localhost:3001/v1/api/developer/filter?level=senior`\n\n- Edit a developer record - `http://localhost:3001/v1/api/developer/644f977b19b115001ce4e306`\n\n- Delete a developer - `http://localhost:3001/v1/api/developer/644f977b19b115001ce4e306`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelitus%2Fdeveloper-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmelitus%2Fdeveloper-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelitus%2Fdeveloper-api/lists"}