PolyBooks/sdp_polyBooks

View on GitHub
summaries/sprint2.md

Summary

Maintainability
Test Coverage
# Summary for week 2

## Dario (Scrum Master)

This week wasn't a great week for me. I only achieved to propose an API for an Interest database and start implementing a basic Book
database based on the OpenLibrary online database. I underestimated the workload for other courses, and overestimated the
work required to implement the features I chose. Next time I'll have to see a little smaller.

## Joshua

This week I expanded on the UI I created last week and added a few tests. 

I ended up working a lot more on the UI  then I thought because I was having thread problems,
but thankfully the tests were a lot simpler to write than I thought which evened the time out.

Next time I'll try to better judge the time tasks take

## Nicolas

Last sprint meeting, I claimed two different tasks but was able to make progress only on one of them due to unexpected complications (new language, java `CompletableFuture` diffcult to understand, and unit tests not possible due to firebase not being accessible from unit tests). A solution for the last issue could be "testing" the API using UI tests. I feel it is however not the cleanest solution.

Next time I will make these tests work either using UI tests or using a simulator firebase provides for unit tests (no documentation + still in beta)

## Raoul

I worked the full 8 hours on getting an ISBN from the camera. Time was about right, 
I did not have time to properly refactor, but maybe I shouldn't anyways as the inner class needs to access
a function of its parent activity. Most of my work consisted of implementing the MLKit and CameraX libraries both between
them and with our activities.

As good UX requires to automatically move to the next activity on scanning, there's no button and it's impossible to
write tests for intents without writing an AI which moves in Android Emulator VR. As none of my functions return something,
it also seems tricky to write unit-tests. However, I tested manually extensively.

## Sophie

I am currently implementing the feature that allows the user to filter and sort the books. 
I am doing both the underlying mechanism and the corresponding user interface in parallel. 
The task is pretty long and I took some time to figure out whether or not the filtering parameters should be "hard coded"
and how to display dynamic content in android.

Maybe I should try to split my task, and do the interface and underlying mechanism separately. 

Next time, I will continue working on this feature

## Zied

I implemented the google authentification in our application. Now the user can sign in/sign up using their google account and we get all the necessary informations about the user in our Firebase database. The task was not very hard because of all the documentations available online. I thought I could also do the tequila authentification but I didn't have enough time because of the tests that I tried to write for the google authentification. I did not succeed at writing the tests because when we want to connect using Google, we leave the application so I still didn't figured out how to tests this. Next time I will take more in consideration the time to do tests in the computation of the expected time for doing a task and learn more precisely how to do every sort of tests.

## Overall team

We have got great progress on the front-end side of the app. The UI to display books and sales is progressing
and the ability to login with google is all done. The feature to scan barcodes to extract the ISBN might also be done by this evening.

On the backend, it is not possible yet to store or retrieve any information via an implementation of the API but we're working on it.

We did our two stand-up meetings as scheduled. Everyone was there at the first one, but Nicolas was missing at the second because
of an unscheduled visit to the doctor (everything's ok). Both meetings were orderly and useful.