Backend Server made with express and mongoose for use in Embedded System.
To use this repository, clone this repo into your machine
git clone https://github.com/ando-hunterz/EmbeddedSystem_Backend.gitthen use your default npm install to install the required modules
npm installafter installing check the env required by find which process use .env, then make the .env file by using command
touch .env
vi .env
or
nano .envuse command to start the server
npm startUsed for user related usage
login the user
-
URL
/api/auth/login -
Method
POST -
Data Params
{ username: username, password: password }
-
Success Response
Status Code : 200
Content:{ db_id: database_id, jwtToken: jwtToken }
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
Used for logging user from NodeMCU
Logging User to database
-
URL
/api/userlog/:db_id -
Method
POST -
URL Params
db_id=database_name -
Data Params
{ uid: uid, temperature: temperature, status: "Ok"/"Warning" }
-
Success Response
Status Code : 200
Content:{ message: "User Submitted", user: { _id: id, uid: uid, temperature: temperature, status: "Ok"/"Warning", createdAt: createDate, updatedAt: updateDate, __v: 0, id: id } }
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
User endpoint to access database
Get all records of users who has logged.
-
URL
/api/user/records -
Method
GET -
URL Params None
-
Cookie Params
db_id -
Success Response
Status Code : 200
Content:[ { _id: id, uid: uid, temperature: temperature, status: "Ok"/"Warning", createdAt: CreatedDate, userData: { _id: id, uid: uid, name: name, id: id }, id: id }, ]
Get record of user who has logged.
-
URL
/api/user/records/:id -
Method
GET -
URL Params
id=[user_id] -
Cookie Params
db_id -
Success Response
Status Code : 200
Content:{ _id: id, uid: uid, temperature: temperature, status: "Ok"/"Warning", createdAt: CreatedDate, userData: { _id: id, uid: uid, name: name, id: id }, id: id },
- Error Response
Status Code: 400
Content:
{ messages: [message], fields: [error_fields] }
- Error Response
Update selected record of user who has logged.
-
URL
/api/user/record/:id -
Method
PATCH -
URL Params
id=[user_id] -
Data Params
{ uid: uid }
OR
{ temperature: temperature }
OR
{ uid: uid, temperature: temperature }
-
Cookie Params
db_id -
Success Response
Status Code : 200
Content:{ _id: id, uid: uid, temperature: temperature, status: "OK"/"Warning", createdAt: CreatedDate, updatedAt: UpdatedDate, __v: 0, id: id }
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
Delete records of user who has logged.
-
URL
/api/user/record/:id -
Method
DELETE -
URL Params
id=[user_id] -
Cookie Params
db_id -
Success Response
Status Code : 200
Content:{ message: "Record with id user_id has been deleted" }
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
User endpoint to access userData database collection
Get userData which has been uploaded to database via csv file
-
URL
/api/user/userData -
Method
GET -
Cookie Params
db_id -
Success Response
Status Code : 200
Content:[ { _id: id, uid: uid, name: name, __v: 0, createdAt: CreatedDate, updatedAt: UpdatedDate, id: id } ]
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
Post userData with CSV files
-
URL
/api/user/userData -
Method
POST -
Data Params .csv file with structure as following
uid name user_uiduser_name -
Cookie Params
db_id -
Success Response
Status Code : 200
Content:[ { _id: id, uid: uid, name: name, __v: 0, createdAt: CreatedDate, updatedAt: UpdatedDate, id: id } ]
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
Update userData which has been uploaded to database via csv file
-
URL
/api/user/userData/:id -
Method
PATCH -
Cookie Params
db_id -
Data params
{ uid: uid }
OR
{ name: name }
OR
{ uid: uid, name: name }
-
Success Response
Status Code : 200
Content:{ _id: id, uid: uid, name: name, __v: 0, createdAt: CreatedDate, updatedAt: UpdatedDate, id: id }
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
Delete userData which has been uploaded to database via csv file
-
URL
/api/user/userData/:id -
Method
DELETE -
Cookie Params
db_id -
Success Response
Status Code : 200
Content:{ message: `User with id ${userId} deleted` }
-
Error Response
Status Code: 400
Content:{ messages: [message], fields: [error_fields] }
-
Error Endpoint for Delete Record -
User Data return message and code -
Delete user JSON response -
Search Endpoint
-
JWT Verification -
Function and Route documentation
-
Websocket Emit Event message
-
POST userData Error