{"id":16772029,"url":"https://github.com/eddmann/mince-pie-challenge-api-serverless","last_synced_at":"2026-01-03T16:06:25.874Z","repository":{"id":141665267,"uuid":"112731290","full_name":"eddmann/mince-pie-challenge-api-serverless","owner":"eddmann","description":"Serverless HAL API, using Webpack, Flow, Jest, DynamoDB, Cognito and Docker","archived":false,"fork":false,"pushed_at":"2018-10-16T13:23:21.000Z","size":230,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T03:26:48.945Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","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/eddmann.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":"2017-12-01T11:12:41.000Z","updated_at":"2018-11-07T02:05:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c143094-c0fb-49aa-8436-d284a108cafb","html_url":"https://github.com/eddmann/mince-pie-challenge-api-serverless","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/eddmann%2Fmince-pie-challenge-api-serverless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fmince-pie-challenge-api-serverless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fmince-pie-challenge-api-serverless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fmince-pie-challenge-api-serverless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddmann","download_url":"https://codeload.github.com/eddmann/mince-pie-challenge-api-serverless/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243895831,"owners_count":20365281,"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-10-13T06:29:44.600Z","updated_at":"2026-01-03T16:06:25.827Z","avatar_url":"https://github.com/eddmann.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mince Pie Challenge API\n\n[![Build Status](https://travis-ci.org/eddmann/mince-pie-challenge-api-serverless.svg?branch=master)](https://travis-ci.org/eddmann/mince-pie-challenge-api-serverless)\n\n🖥️ [Client](https://github.com/eddmann/mince-pie-challenge-client) - 🏗️ [Client Infrastructure](https://github.com/eddmann/mince-pie-challenge-client-terraform)\n\nThis API demonstrates the use of:\n\n- [HAL](http://stateless.co/hal_specification.html) is used to represent the API.\n- The API is documented using [RAML](https://raml.org/).\n- [Serverless Framework](https://serverless.com/) is used to manage the [AWS Lambda](https://aws.amazon.com/lambda/) application and accompanying resources.\n- Containerising the Serverless Framework dependency using [Docker](https://www.docker.com/community-edition) and [Docker Compose](https://docs.docker.com/compose/).\n- ES6 JavaScript is used with [Webpack](https://webpack.js.org/), [Babel](https://babeljs.io/) and [Flow](https://flow.org/).\n- Testing is achieved using [Jest](https://facebook.github.io/jest/).\n- Authentication is handled by [Amazon Cognito](https://aws.amazon.com/cognito/) using JWT.\n- Persistent state is stored using [Amazon DynamoDB](https://aws.amazon.com/dynamodb/).\n- Signed [Amazon S3](https://aws.amazon.com/s3/) URLs are used to upload and store photos.\n- Thumbnails are created using an asynchronous S3 upload trigger and AWS Lambda (inc. ImageMagick).\n- The custom [Amazon API Gateway](https://aws.amazon.com/api-gateway/) domain is managed using [serverless-domain-manager](https://github.com/amplify-education/serverless-domain-manager).\n\n## Usage\n\nYou are able to easily interact with the Docker container using the provided `Makefile`.\n\nNote: ensure that you have provided the necessary AWS credentials within a `.env` file, based on `.env.template`.\n\n```\n$ make build\n$ make test\n$ make deploy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddmann%2Fmince-pie-challenge-api-serverless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddmann%2Fmince-pie-challenge-api-serverless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddmann%2Fmince-pie-challenge-api-serverless/lists"}