{"id":20493948,"url":"https://github.com/willtpwise/th-node","last_synced_at":"2025-08-21T17:28:51.991Z","repository":{"id":42264234,"uuid":"270913649","full_name":"willtpwise/th-node","owner":"willtpwise","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-24T02:51:44.000Z","size":400,"stargazers_count":0,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-16T05:55:53.993Z","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/willtpwise.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":"2020-06-09T05:44:49.000Z","updated_at":"2020-06-09T05:45:30.000Z","dependencies_parsed_at":"2023-01-26T20:00:48.801Z","dependency_job_id":null,"html_url":"https://github.com/willtpwise/th-node","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/willtpwise%2Fth-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Fth-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Fth-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Fth-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willtpwise","download_url":"https://codeload.github.com/willtpwise/th-node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242075566,"owners_count":20068225,"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-15T17:37:38.875Z","updated_at":"2025-03-05T17:45:46.108Z","avatar_url":"https://github.com/willtpwise.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expressive\n\nExpressive is a RESTful JSON API using ExpressJS. It's set out in an MVC style and should feel just like a real app.\n\nTo keep things simple, there's only one resource, a Thing.\n\n## Setup\n\nTo run this project you must have [Node.js](https://nodejs.org/en/download/), [Docker](https://www.docker.com/community-edition) and [Docker Compose](https://docs.docker.com/compose/install/) installed.\n\nTo get started, run these three commands:\n\n```\nnpm install\nnpm run docker:migrate\nnpm run docker:test\n```\n\nYou should see two failing tests. Your job is to get these two tests passing!\n\nRemember, we'd much rather see an incomplete response than nothing at all. Wherever you get to in the time limit, commit and push it.\n\n## Feature One\n\nIn order to make sure we've got enough Things on hand for emergencies, there must always be at least 10 in stock. Any operation that reduces the available quantity of any Thing below 10 is illegal under the Expressive business rules. Please ensure that this never happens.\n\n## Feature Two\n\nThe naming structure for Things is a little archaic. It's a legacy requirement for other components of the system that names contain metadata in a colon (:) delimited format with the schema `name:danger flag:colour`. eg:\n\n`teddy bears:false:brown`\n\n`dynamite:true:red`\n\nOnly authorised administrators are allowed to alter dangerous Things! Please ensure that no regular users can update or create anything dangerous.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilltpwise%2Fth-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilltpwise%2Fth-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilltpwise%2Fth-node/lists"}