|
| 1 | +# APIGatewayServerlessExample |
| 2 | + |
| 3 | +This is a simple framework for implementing a serverless RESTful API via [AWS Lambda](https://aws.amazon.com/lambda/) functions, and fronted by [API Gateway](https://aws.amazon.com/api-gateway/). |
| 4 | + |
| 5 | +The sample implementation is an API intended to back [GoalTender](https://github.com/fitzcairn/GoalTender) (a React Native app), using [DynamoDb](https://aws.amazon.com/dynamodb/) as a storage provider. |
| 6 | + |
| 7 | +## Getting Started |
| 8 | + |
| 9 | +These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. |
| 10 | + |
| 11 | +Unfortunately, you're on your own with regards to building your own production environment. Luckily, there are lots of guides out there; [here is one I found particularly helpful](https://blog.codecentric.de/en/2018/04/accessing-aws-resources-with-google-sign-in/). |
| 12 | + |
| 13 | +### Prerequisites |
| 14 | + |
| 15 | +I suggest you do the following before cloning this project: |
| 16 | + |
| 17 | +* Download the [IntelliJ IDEA](https://www.jetbrains.com/idea/download). |
| 18 | +* Ensure you have [Java JDK 1.8](http://www.oracle.com/technetwork/java/javase/downloads/index.html) installed. |
| 19 | +* Create a [GitHub](https://github.com/) account. |
| 20 | +* Set up [GitHub over SSH](https://help.github.com/articles/connecting-to-github-with-ssh/). |
| 21 | + |
| 22 | +### Building Locally |
| 23 | + |
| 24 | +* Clone this repository to your local machine (directions [here](https://help.github.com/articles/cloning-a-repository/)). |
| 25 | +* I strongly suggest [creating a local branch](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) before making any changes. |
| 26 | +* Open IntelliJ, and create your project by [importing the Maven project](https://www.lagomframework.com/documentation/1.4.x/java/IntellijMaven.html). |
| 27 | +* [Open the Gradle tool window in IntelliJ](https://www.jetbrains.com/help/idea/jetgradle-tool-window.html), expand "Tasks", expand "application", and double-click "run". |
| 28 | + |
| 29 | +## Running Tests |
| 30 | + |
| 31 | +There is a reasonably full suite of tests for this repository; run them via IntelliJ or Maven. |
| 32 | + |
| 33 | +## Contributing |
| 34 | + |
| 35 | +I rather like this [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426); let's follow that for any pull requests. |
| 36 | + |
| 37 | +## Versioning |
| 38 | + |
| 39 | +I use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/fitzcairn/APIGatewayServerlessExample/tags). |
| 40 | + |
| 41 | +## Authors |
| 42 | + |
| 43 | +* **Steve Martin** - *Initial work* - [Fitzcairn](https://github.com/fitzcairn) |
| 44 | + |
| 45 | +## License |
| 46 | + |
| 47 | +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details |
0 commit comments