Giter Site home page Giter Site logo

book-a-room's Introduction

Book a room

Clean architecture with 3 layers

  • Data (for database, API and preferences code)
  • Domain (for business logic and models)
  • App (for UI logic, with MVI)

Other useful features

Getting started

Script

  1. Clone this repository preferably with Android Studio
  2. Build project and then run application. In the situation where you are asked about trusting the application please do select yes
  3. Please make sure you are on the main branch as that has all the latest changes.

Notes

  • Book a room has offline support. Data is retrieved from remote when data is established and saved.

Improvements

  • Improve single source of truth implementation (At the moment the rooms list is being persisted locally after data is retrieved from the remote however is everytime the app starts the remote still call even thought some data is saved.)
  • Make sure application UI supports Dark Theme entirely.
  • Improve room booking (The the moment the app is still calling the remote to book a room while offline, this does not give a realistic view on the spots for a given room)
  • Network notification when data connection is restored while offline.
  • I would have loved to use compose for the UI.
  • Introduce error pages and not rely on toasts messages for better UI error handling.
  • With more time I would have liked to implemented more instrumentation tests and unit tests for the data repositories.
  • Include place holder images for meeting rooms
  • Improve how data is handled from remote when the expected data is not returned from remote.

book-a-room's People

Contributors

samdantetteh avatar

Watchers

 avatar  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.