cloud-erp-school-system / backend

GNU General Public License v3.0
0 stars 0 forks source link

Client Request: Step 01 #13

Open patricksan opened 3 years ago

patricksan commented 3 years ago

What?

Please, reference to file: /documentation/phases/Phase-01-school-management/01-New Client Request.pdf

This ticket is to create the Model + API from Step 01. This is related to Receive Client Request

How?

Expected

patricksan commented 3 years ago

@shreyathumma I renamed the /client/requests to /client/request. It is more standard on API to use singular.

patricksan commented 3 years ago

Details

The API GET /client/request will return the all requests from the DB, basically clients that are still open.

In the other hand, the GET /client/request/summary it is just an overview with the following information:

Second graph

Fro the second graphy, let’s return based on a list with the 7 last days. And each day has a number.

Goal

The idea here is that the Frontend doesn’t need to compute based on the GET /client/request. Everything should be ready by GET /client/request/summary

shreyathumma commented 3 years ago

Done: model classes and GET client requests controller and service implementation.

Currently working on: Updating the API logic and model classes according to the new requirement details. Setting up the sql files for request tables.

Blockers: None as of now

ianaa commented 3 years ago

Hi @shreyathumma, @patricksan, I'd like to start working on this for the frontend, and I have a few questions.

  1. The "New Client Request" title on this screen. Is this supposed to be just the page title or some kind of button to create a new client?
  2. Graphs. The status pie chart seems to be showing only 2 out of 4 possible statuses, and I think that's incorrect. we should either return all the statuses in the request summary endpoint, or if we're only interested in "verified" and "pending", those shouldn't be a pie chart. I'm not sure what the bar graph is supposed to show, and I'm not sure if that's just a placeholder or actually ready to be implemented.
  3. Are we implementing some kind of search endpoint? what fields could be the input?
  4. Can I get a sample JSON for these endpoints as soon as they are ready?
patricksan commented 3 years ago

Hi @ianaa , answering your question:

  1. It is the title on this screen. The action of create a new client will be in another phase.
  2. You are right. The api should return all status, including the ones that are 0%. Like this way we can easily make a pie chart also. The bar is the amount of new proposals (registered) based on the last 7 days.
  3. Very interesting question. I didn't pay attention on that. Leave for now the search out of the implementation. We can have just the input field, but doesn't nothing. We can easily aggregate that to the API that @shreyathumma is working, but I would first prefer that we have a functional version and then we can extend.
  4. For this one, we need @shreyathumma .

Thank you

patricksan commented 3 years ago

@shreyathumma as noticed by @ianaa, we need to return all status in the api GET /client/request/summary. Here they are:

shreyathumma commented 3 years ago

@ianaa For number 4, do you mean API documentation including the endpoint URL, request body field names etc? or more like a sample JSON request?

ianaa commented 3 years ago

@shreyathumma a sample JSON request and response would suffice for me to start working on this, but proper documentation will be helpful in the long run, so please also consider adding endpoint documentation somewhere (@patricksan ideas about where best to put it?)

patricksan commented 3 years ago

Hey @ianaa and @shreyathumma , I will configured the backend to use Swagger. This is a default API documentation framework used with Spring Boot. Very easy to integrate and a lot of developers are used to it.

I created this ticket: https://github.com/cloud-erp-school-system/backend/issues/18

cc @Aurrix, @captain0612

shreyathumma commented 3 years ago

@patricksan Sounds good, I use Swagger so I'll go ahead and pick up this ticket.

patricksan commented 3 years ago

Perfect @shreyathumma ! Please, just create a Pull Request separated from your other ticket. So it is easy to review. Thanks.

ConnectedLearner commented 3 years ago

@ianaa I support your idea. Do you think UX/UI designs screenshot of analytical Admin Dashboard with reports (e.i.100 reports), excellent statistics and widget, view of data entry, statistics, various charts, table data, analysis details ,showed in attractive , colored beautiful charts such as :Pie, Bar, Line, Horizontal Bar ,Polar Area Stacked Bar, Doughnut charts and etc), would be helpful?

Let's me know we can find a design of that admin dashboard too.

ianaa commented 3 years ago

@ianaa I support your idea. Do you think UX/UI designs screenshot of an analytical Admin Dashboard with of some reports (e.i.5000 reports), excellent statistics and widget, view of data entry, statistics, various charts, table data, analysis details ,showed in attractive , colored charts ( We have a file of modules with a recommendation to use these colored beautiful charts:Pie, Bar, Line, Horizontal Bar ,Polar Area Stacked Bar, Doughnut charts and etc), would it be helpful?

@ConnectedLearner I'm not sure I understand your question. Can you rephrase it? In general, I believe that adding charts for the sake of pretty designs is not useful. You should identify what information is needed for the users, and then find the best way to display it, and not the other way around. So my suggestion here is to display the absolute minimum when it comes to graphs, or even avoid them completely in favour of simple numbers and text. They can always be added later for useful data points if requested by the users.

ConnectedLearner commented 3 years ago

@ianaa Hi, according to your question 2 "Graphs" , I asked if UI/UX design of Admin Dashboard showing many reports with statistics and widget, view of data entry, analysis details showed in these colored beautiful charts:Pie, Bar, Line, Horizontal Bar ,Polar Area Stacked Bar, Doughnut charts and etc) would be helpful, but, your suggestion here and Patrick's answers are clear.