Ce dépôt contient une mini-application pour le P4 du parcours Grande École du Numérique. This application is the property of the startup Lamzone. It helps collaborators book meetingrooms quickly.
This is an Android application, it is coded in Java and runs on SDK version 31. To run he project, clone this repository and open it on Android Studio.
The application displays one activity within which you find a recyclerview with all the meetings booked. You can delete a meeting, open the details of a meeting (new activity), create a meeting (new activity) and filter the meetings by meetingrooms or date.
It stores :
- Meeting class : parcelable, with all the informations.
- MeetingRooms enum : it stores the meeting rooms.
- Collaborators enum : it stores the collaborators informations.
This application uses Eventbus to simplifiy communication between the different classes. It stores the following events :
- DeleteMeetingEvent
- OpenMeetingEvent
- SendPositionEvent
They are triggered in the recycler view. They trigger these events.
An improvment, would be to consider refactoring the app to use more performant tool as RxJava or refactor it in Kotlin and use coroutines.
It contains the dummy API to run this application.
It contains the classes linked to the activities and fragments.
This is a mock app, it does live on its own. Remember, it is a project aimed to a learner.
We loosely use the "Git flow" approach: master is the release branch - it should always be releasable, and only merged into when we have tested and verified that everything works and is good to go.
Daily development is done in the development branch. Features, bugfixes and other tasks are done as branches off of develop, then merged back into develop directly or via pull requests.
Keep commit clear and self-explanatory. Clean messy branches before merge.
This application has 5 unit tests and 6 instrumented tests as well as one espresso recorded test. All the test are on status passed.
- Get meeeting with success : checking that all meetings in the API are in the meeting list.
- Delete meeting with success : checking that it is possible to remove meeting from a list.
- filter Meeting by meeting room with success : checking that the meeeting room filter works.
- filter meeting by date with success : check that the date filter works.
- Create new meeting : check that a new meeting can be created.
- RecyclerView should not be empty : recylcerview displays all meetings.
- RecyclerView should delete meeting with success.
- RecyclerView should open meeting detail with correct data.
- Opens creation activity and meeting is not created.
- Opens creation activity and meeting is created.
- Filter by date or by meeting room.
- Display meeting participants as chips in meeting creation activity.
- Create new filter options. You can either clone the repository and freely reuse it or you can make a pull request. It will only be accepted once I validate my retraining.