Field Data Collection Application
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Inviso is a data collection app so what that means is like google forms you can build custom forms and assign users to it and let the users collect data for you. This project built using Spring Boot, Spring Security with JWT Authentication, Spring Data JPA and Hibernate with PostgreSQL. The frontend side was not the aim of this project, so i've not built a frontend but i download all of the static content with Httrack from the original site and modify it a little bit (just for the demonstration purpose for the backend i've build) and integrate it with the backend.
You can access demo Here with username and password: sau:sau
.
This project is a Spring Boot application built using Maven. You can clone it and run it locally on your machine as shown below or using an IDE like Intellij idea.
$ git clone https://github.com/isengu/j32bitInviso.git
$ cd j32bitInviso
$ ./mvnw spring-boot:run
You can try deployed application with frontend here or you can try it on postman.
Here are some of the endpoints:
- Send
username
andpassword
asapplication/x-www-form-urlencoded
. - Return type is json containing JWT token.
- Send the username as text.
- Return type is json containing all of the info about given username
Returns filled form counts last n
day. According to given day number result will
be divided between intervals. e.g. for day=7
filled form counts will be presented
day to day, for day=30
week to week.
- Send
day
parameter as 7, 30 or 90. - Return type is json containing interval start date, end date and filled form count between start and end date.
- Send request.
- Return type is json containing currently active user count.
- Send request.
- Return type is json containing currently active form count.
- Send json payload containing new user's information.
- Return type is json containing newly saved user.
Returns users by filtering, sorting and pagination.
- Send json payload containing filter requests, sorting and pagination informations.
- Return type is json containing users that met requirements.
This endpoint used both for user update and user authorisation.
- Send json payload containing user id and informations of the user.
- Return type is json containing updated user.
- Send json payload containing user id of user to be deleted.
- Return null.
Returns forms by filtering, sorting and pagination.
- Send json payload containing filter requests, sorting and pagination informations.
- Return type is json containing names and ids of forms that met requirements.
- Send json payload containing form id you want to get structure of.
- Return type is json containing form structure.
- Send json containing form id and verison.
- Return type is json containing structure of specific version of form.
- Send json payload containing structure of form.
- Return type is json containing newly saved forms structure.
- Send json containing short name of the form.
- Return null.
- Send json containing form id and users that will assign to it.
- Return type is json containing some info about form and assigned users.
- Send id of the form.
- Return type is json containing list of the users.
- Send username.
- Return type is json containing list of form names and ids.
- Send json containing info about form and filled fields.
- Return type is json containing success message.
Returns filled forms by filtering, sorting and pagination.
- Send json containing filter requests, sorting and pagination information.
- Return type is json containing filled form datas that met requirements.