• Stars
    star
    102
  • Rank 335,516 (Top 7 %)
  • Language
    Java
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

#Room Booker Project ##Project structure ###MVP gradle module Java module with no Android dependencies. It contains following packages:

  • .mvp - a package that contains all classes directly related to Model-View-Presenter architecture.
    • .mvp.model - Model classes
    • .mvp.presenter - Presenters. They responds to UI actions, uses usecases to operate modify model objects and control View elements depending on use case results. It subscribes to observable returned by usecase execute() method.
    • .mvp.view - View interfaces that should be implemented by Android Activities, Fragments, or any other UI component.
  • .domain - contains use cases that are used to operate on Model objects. Each use case implements Usecase interface that contains execute() that returns rxJava Observable object.
  • .repository - contains Repository interface used by use cases to operate on model. Implementation for this interface is provided by Android module using Retrofit.

###App gradle module Android gradle module.

  • .activity - Android activities, they can be treated as MVP Views by implementing corresponding View interfaces from mvp gradle module.
  • .fragment - Android fragments. Like activities, they can be treated as Views.
  • .adapter - adapters for RecyclerViews and ViewPagers
  • .gson - classes for gson JSON parser used to parse network responses.
  • .rest - implementation of mvp Repository interface with Retrofit 2 library.
  • .injector - Dagger 2 related classes
    • .scope - Two custom scopes are defined: PerApplication and PerActivity.
    • .module - ApplicationModule and NetworkModule are PerApplication defined modules. NetworkModule provides implementation for Repository interface. The rest of modules have PerActivity scope. EventModule and CalendarsModule provides injections for presenters and use cases defined in mvp gradle module.
    • .component - contains dagger components. ApplicationComponent provides PerApplication scoped dependencies. Rest of components provide PerActivity scoped dependencies.

##Launching stub backend service

  1. Install ruby on your machine
  2. Install Sinatra framework gem using sudo gem install sinatra
  3. Launch backend service from backend folder ruby sinatra.rb

##Limitations of mocked API Responses from sinatra framework service are based on static JSON files which are located in \backend folder. There is no implementation for storing data. POST request operation for events have mocked response with static event in body - it has no influence on events list. Also POST request has no error handling for operation, so adding events operation is always successful. Sinatra service implementation is added only to show the general structure of API interface.

##Used libraries

##Copyright

Published under the MIT License. Copyright (c) 2015 Macoscope sp. z o.o.

More Repositories

1

CodePilot

Code Pilot is an Xcode plugin which lets you woosh through your code and save a lot (and we mean a *lot*) of your time.
Objective-C
1,327
star
2

SwiftyStateMachine

Swift Β΅framework for creating state machines
309
star
3

GrandCentralBoard

Hang a TV in your open space or team room to show everyone what's up and get them up to speed.
Swift
203
star
4

MCSFishEye

The dock-like control for iOS
Objective-C
157
star
5

MCSLLDBToolkit

Set of handy LLDB commands that will dramatically improve your debugging workflow
Python
87
star
6

WWDC16

Swift
73
star
7

NotificationController

A safer and easier way to use NSNotificationCenter with blocks.
Objective-C
64
star
8

MCSCollectionUtility

Objective-C
60
star
9

objc-style-guide

Our code style guidelines
48
star
10

KetchupLunch

Kotlin
30
star
11

QCConsole

A logging console for your Quartz Composer compositions
Objective-C
20
star
12

QCAntennaConnections

Quartz Composer Goes Wireless
Objective-C
17
star
13

ContinuousIntegrationExample

Example project showing how to set up Travis CI and HockeyApp integration using fastlane
Swift
16
star
14

QuartzComposerCompositions

Macoscope's assortment of Quartz Composer compositions related with blog posts
14
star
15

DemoColorPicker

Custom Color Picker extending OS X Color Panel.
Swift
6
star
16

BlogSpellServer

Spell server implementation example for blog post.
Objective-C
3
star
17

JavaUnitTesting

Java Unit Testing with Spock and RxJava
Groovy
2
star
18

MagazineViewController

Paginated control for magazine-like content
Objective-C
2
star
19

GateKeeper

GateKeeper RaspberryPi service and OS X application.
Objective-C
2
star