Skip to content

A native Android app written entirely in Kotlin to showcase a Curriculum Vitae 📄

License

Notifications You must be signed in to change notification settings

bharatdodeja/MyCV

Repository files navigation

MyCV

CircleCI

A native Android app written entirely in Kotlin to showcase a Curriculum Vitae 📄

Architecture Diagram

Architecture Diagram

Why MVP?

  1. Simplicity
  2. Testability
  3. Extensibility

Why Reactive Extensions (Rx)?

Reactive Extensions makes asynchronous programming easy with observable streams especially event driven programs like Android app.

JSON Resume

  • JSON Resume is a community driven open source initiative to create JSON-based standard for resumes.
  • It is used as REST API to get CV data from backend.

Testing

Unit Tests

  • JUnit tests for testing presenter, repository, data source

Mocking

  • Mocking of final classes and methods of Kotlin using mockito extension mock-maker-inline
  • Fake data source implementation for easy UI testing using stubbed data without MockWebServer

UI Tests (Espresso + Robot Pattern)

Screenshots

Basic Details Skills & Work Work & Education

Todo v1.0

Todo v2.0

  • ORM to support offline using Room
  • Stubbed data for UI tests using MockWebServer
  • Replace Dagger with Koin as dependency injection framework
  • Replace dependency injection framework with Dagger 2
  • Replace Rx with Kotlin Coroutines
  • Install Git hooks
  • Write blog post explaining the architecture and tools used

License

MIT License

Copyright (c) 2018 Bharat Dodeja

Permission is hereby granted, free of charge, to any person obtaining a copy of 
this software and associated documentation files (the "Software"), to deal in the 
Software without restriction, including without limitation the rights to use, copy, 
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 
and to permit persons to whom the Software is furnished to do so, subject to 
the following conditions:

The above copyright notice and this permission notice shall be included in 
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

A native Android app written entirely in Kotlin to showcase a Curriculum Vitae 📄

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published