Giter Club home page Giter Club logo

j32bitinviso's Introduction


Inviso Clone

Field Data Collection Application
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Running Locally
  3. Usage
  4. License
  5. Contact

About The Project

Product Name Screen Shot

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.

(back to top)

Built With

(back to top)

Running Locally

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

(back to top)

Usage

You can try deployed application with frontend here or you can try it on postman.

Here are some of the endpoints:

{POST} Login /api/authentication/token

  • Send username and password as application/x-www-form-urlencoded.
  • Return type is json containing JWT token.

{POST} User Credentials /api/user/getUserCredentials

  • Send the username as text.
  • Return type is json containing all of the info about given username

{GET} Filled Form Count /api/dashboard/filledFormCountWithoutTask

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.

{GET} Active User Count /api/dashboard/activeUsers

  • Send request.
  • Return type is json containing currently active user count.

{GET} Active Form Count /api/dashboard/activeForms

  • Send request.
  • Return type is json containing currently active form count.

{POST} Register New User /api/user/create

  • Send json payload containing new user's information.
  • Return type is json containing newly saved user.

{POST} Get Users /api/user/getAllWithSpec

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.

{POST} Update User /api/user/update

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.

{POST} Delete User /api/user/delete

  • Send json payload containing user id of user to be deleted.
  • Return null.

{POST} Get Form Names /api/structure/getStructureNamesBySpec

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.

{POST} Get Form Structure /api/structure/getStructure

  • Send json payload containing form id you want to get structure of.
  • Return type is json containing form structure.

{POST} Get Specific Version Of Form /api/structure/getApplicationStructure

  • Send json containing form id and verison.
  • Return type is json containing structure of specific version of form.

{POST} Create New Form /api/structure/saveAnApplication

  • Send json payload containing structure of form.
  • Return type is json containing newly saved forms structure.

{POST} Delet Form /api/structure/delete

  • Send json containing short name of the form.
  • Return null.

{POST} Assign Form /api/userApplication/saveUserApplication

  • Send json containing form id and users that will assign to it.
  • Return type is json containing some info about form and assigned users.

{POST} Get Assigned Users To Form /api/userApplication/getAssignedUsersOfApplication

  • Send id of the form.
  • Return type is json containing list of the users.

{POST} Get Forms Assigned To User /api/structure/getStructureNamesOfUser

  • Send username.
  • Return type is json containing list of form names and ids.

{POST} Submit Form /api/entry/sendFormData

  • Send json containing info about form and filled fields.
  • Return type is json containing success message.

{POST} Report /api/entry/getAllControlMetadata

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.

(back to top)

j32bitinviso's People

Contributors

isengu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.