Giter Club home page Giter Club logo

eventbuildinginc's Introduction

As a user using the Event Building Inc. application, I would like to perform specific tasks in my event such as hiring staff, decorations, catering, etc. You are tasked with creating a sample screen from the Event Building Inc. application that allows the user to select the task they want. All tasks are categorized under different categories like (Staff, Food, Catering ..etc). As such, the user selects a category and should be able to see all the items under this category. Each item in the category may be included in multiple categories, and other items will only be included in one category.

Features

  • Homepage: List of categories + the estimated budget for the selected categories

  • SubCategories: List of subcategories from a Category

  • Event Summary: Estimate of budget for the event

Tech Stack

  • Kotlin Flow
  • Retrofit-OkHttp-Gson
  • Room
  • Jetpack Compose toolkit : ComposeUI, ComposeNavigation, Compose-Coil, Compose-ConstraintLayout, Compose-Tooling, Compose-Material(1 & 3)
  • Dependency management: Version Catalog
  • Dependency Injection : Dagger-Hilt
  • Architecture (presentation layer): MVI

Project Constraints

  • Given the data provided, we thought it was best to use an offline strategy: data is fetched if and only if it isn't available in our database
  • Given the project expectations and the data provided (GET requests and data manipulation in the data layer), we did not see the need to use a "pure clean architecture" approach; as such a data and presentation layers were more than enough to achieve what was required
  • The Database: Since the data coming from the server is immutable and would reset local values, we decided to keep a table for the data coming from the server (TableServer) and another for the "local" data (TableLocal). This way, each row from TableServer will be related to a corresponding in TableLocal. This will allow us to easily handle UI states

eventbuildinginc's People

Contributors

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