The code was written by Louis Deveze & Maxime Tran & Sebastien Ye.
- Populate a LevelDB database with two users and a few metrics for each one.
- Authenticate using Login / Signin / Logout
- Interact with the metrics contained in the database. CRUD operations
- Graph visual of the metrics of a logged user
- Security : Logged user can't see metrics of other users
- Clone the repository on your desktop
- Open the project folder on Visual Studio Code
- Create a new Terminal
If you are using a Windows OS, you have to run this command as Administrator first:
npm install --global --production windows-build-tools
- Run the command : npm install
If you are using Linux or MacOS, you have to create:
- db folder
- metrics folder inside db folder
- users folder inside db folder
- session folder inside db folder
- Run the command : npm run populate
- Run the command : npm test
- Run the command : npm start
- Open your web Browser and connect to http://localhost:8080
- Get all users in database http://localhost:8080/user/admin/allusers
- Get a specific user in the database http://localhost:8080/user/Louis
- Delete a specific user in the database http://localhost:8080/user/Louis
- Post user in the database http://localhost:8080/user with body : ['Louis', 'louis.deveze@edu.ece.fr', 'Framboise', false]
- Delete all metrics from user Louis http://localhost:8080/metric/deleteall/Louis
- Delete a specific metric from user Louis http://localhost:8080/metric/delete/Louis/1383315300000
- Get all metrics from Louis in database http://localhost:8080/metric/getall/Louis
- Get a specific metric from Louis http://localhost:8080/metric/get/Louis/1383314400000
- Post metrics for Louis http://localhost:8080/metric/insert/Louis with body : [ { "timestamp":"1384686660003", "value":63 }, { "timestamp":"1384686660004", "value":15 }, { "timestamp":"1384686660005", "value":98} ]
- Express : minimalist web framework for Node.js
- Bootstrap 4 : CSS and Javascript toolkit for web devloppers
- JQuery : Javascript Library
- EJS : Embedded Javascript Templating
- LevelDB : Fast, Lightweight, prototyping database
- Maxime TRAN
- Louis DEVEZE
- Sebastien Ye