Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexandrecpedro/picpayclone

Clone of PicPay application, using a robust and testable architecture, from app to servidor side.
https://github.com/alexandrecpedro/picpayclone

android android-app api dockerfile java kotlin picpay-cloning postgres postgresql

Last synced: 14 days ago
JSON representation

Clone of PicPay application, using a robust and testable architecture, from app to servidor side.

Awesome Lists containing this project

README

        


PicPay Clone




| | | | |
|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|
|login | activities|contacts|profile |


Target
Technologies
Route






💡 Target


Clone of PicPay application, using a robust and testable architecture, from app to servidor side.
For the Android, using the MVVM structural pattern.
For the servidor side, building an API RESTful with Spring Boot structure to simulate PicPay features.



🛠 Technologies


The following tools were used in building the project:

| Type | Tools | References |
| :------------------------------------: | :---------------------------------: | :-------------------------------------------------------------------------: |
| Programming Language (App) | KOTLIN | https://kotlinlang.org/ |
| IDE | ANDROID STUDIO | https://developer.android.com/studio |
| Injection Framework | KOIN | https://insert-koin.io/ |
| Testing | JUNIT5 | https://junit.org/junit5/ |
| HTTP API Library | RETROFIT2 | https://square.github.io/retrofit/ |
| HTTP Client Library | OkHTTP3 | https://square.github.io/okhttp/ |
| API RESTful (JSON) | SWAGGER2 | https://swagger.io/ |
| Programming Language (Server Side) | JAVA | https://docs.oracle.com/javase/tutorial/ |
| Spring Boot | SPRING BOOT | https://start.spring.io/ |
| Database | POSTGRE SQL | https://www.postgresql.org/ |
| In-memory data store | REDIS | https://redis.io/ |
| Security | JWT | https://jwt.io/ |





Frontend














Backend | API















🔎 Route


  1. Step 1 - Setting up the environment



  2. Step 2 - Building our API RESTful

  3. API Architecture
    API Architecture


    Classes Diagram for Database
    Classes diagram


    The API is based on RESTful model and contains:

    • Spring Boot

    • Spring Security and JWT

    • Spring Data with PostgreSQL

    • Cache with Redis

    • Documentation with Swagger 2

    • Managing with Spring Actuator




  4. Step 3 - Building our Android app

  5. The app follows MVVM pattern e shows the technologies of:

    • Retrofit2

    • ViewModel

    • LiveData

    • Coroutines

    • Koin

    • Navigation

    • Room




  6. Step 4 - Creating our interface



  7. Step 5 - Consuming a RestFULL API