From 7c6d1e86a32e22b068c0f5c4215e21997c405f24 Mon Sep 17 00:00:00 2001 From: Francesco Esposito <33671357+frab1t@users.noreply.github.com> Date: Mon, 4 Mar 2019 20:31:52 +0100 Subject: [PATCH] edit readme --- README.md | 36 +++++++++++++++++++++++++++++++++++- architecture.png | Bin 0 -> 37221 bytes 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 architecture.png diff --git a/README.md b/README.md index 2f064fa..6578d7b 100644 --- a/README.md +++ b/README.md @@ -1 +1,35 @@ -# trackmyd-api \ No newline at end of file +# trackmyd-api + +Simple REST API for trackmyd project + + +## Architecture + + + +## Paths & Operations + + +| Path | Operation | Description | +|------ |----- |----| +| /devices | GET | Get devices| +| /devices | POST | Add new device | +| /devices?id= | GET | Get single device +| /devices?id= | PATCH | Update device | +| /device?id= | DELETE | Delete device | +| /device?name= | GET | Get single device + +## Installation + +### Step by step + +1. Install **NodeJS** and **NPM**. +2. Install **Mongodb**. +2. Clone this repository. +3. Install dependencies with `npm install`. +6. Configure **users** (app.auth.users) into `config.json`. +7. Configure database (db) into `config.json`. +8. Start with `npm start`. + + + Made with ❤️ by Francesco Esposito ([@frab1t](https://github.com/frab1t)) \ No newline at end of file diff --git a/architecture.png b/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..851d99ca48e016e8db2d403ca2ae14bb212c7a87 GIT binary patch literal 37221 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 APyhe` literal 0 HcmV?d00001