Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Desafio Hurb StarWars #82

Open
wants to merge 85 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
137fd83
:tada: Commit inicial.
Mar 21, 2024
658f204
:recycle: implementação das classes de filmes. Model e entity.
Mar 23, 2024
9d23975
:recycle: implementação das classes de response. FilmsResponse e Movi…
Mar 23, 2024
c9be102
:recycle: Inclusão da classe application
Mar 23, 2024
4fbeb92
:recycle: Inclusão da classe dao de movie.
Mar 23, 2024
02f5ecf
:wrench: Ajustesna configuração do projeto.
Mar 23, 2024
459c492
:recycle: Atualização de cores.
Mar 23, 2024
f03623f
:recycle: criação do DatabaseModule com provideDatabase e provideMovi…
Mar 23, 2024
da57a8b
:recycle: criação do RestApiModule.
Mar 23, 2024
9322302
:recycle: criação do MovieService.
Mar 23, 2024
50d366e
:recycle: criação do MovieRepository.
Mar 23, 2024
5e29107
:recycle: criação da UiState e Viewmodel da Home.
Mar 23, 2024
379e4c6
:recycle: criação do componente BottomAppBar.
Mar 23, 2024
c068650
:recycle: adição do logo do starwars.
Mar 23, 2024
aa72a73
:recycle: criação do sampleData.
Mar 23, 2024
9b59944
:recycle: criação do sampleData.
Mar 23, 2024
2eafe5f
Merge remote-tracking branch 'origin/master'
Mar 23, 2024
b337c8f
:recycle: criação dos destinos do app.
Mar 23, 2024
263f382
:recycle: criação do StarWarsNavHost e HomeNavigation.
Mar 23, 2024
371c4c8
:recycle: criação da HomeScreen.
Mar 23, 2024
db61b1e
:recycle: Atualização da MainActivity.
Mar 23, 2024
be30160
:recycle: Inclusão de um banner StarWars na home.
Mar 25, 2024
73ab766
:recycle: Inclusão de drawer menu e ajustes na MainActivity.
Mar 25, 2024
8b5d9f2
:recycle: Alteração de Home, para Movie em HomeUiState, HomeScreen e …
Mar 25, 2024
60050e9
:heavy_plus_sign: inclusão de lib.
Mar 27, 2024
aa55566
:recycle: inclusão da constante BASE_URL.
Mar 27, 2024
922626a
:coffin: remoção de import.
Mar 27, 2024
1c78edf
:recycle: ajuste na sampleData.
Mar 27, 2024
9d75d8a
:recycle: inclusão da rota de detahes do filme.
Mar 27, 2024
1cded23
:recycle: inclusão da MovieDetaisUiState.
Mar 27, 2024
42e32ad
:recycle: Ajuste no texto do nome do episodio.
Mar 27, 2024
6e61fda
:recycle: Implementação do detalhe do filme e da lista de favoritos.
Mar 27, 2024
4a0913b
:coffin: remoção de código.
Mar 27, 2024
d9c38ab
:coffin: inclusão das categorias de veiculos e especies no menu lateral.
Mar 27, 2024
7122cfa
:coffin: Inclusão do Dispatchers.IO na busca de filmes.
Mar 27, 2024
00991ae
:coffin: criação das clases Vehicle e VehicleEntity.
Mar 27, 2024
57c5d40
:recycle: criação da VehicleDao.
Mar 28, 2024
7523b08
:recycle: Ajuste na rota do veiculo.
Mar 28, 2024
fde1deb
:recycle: Ajuste no nome das rotas.
Mar 28, 2024
2d3329d
:recycle: Criacao do VehicleSampleData
Mar 28, 2024
fecaf75
:recycle: Criacao da classe VehicleUiState.
Mar 28, 2024
3205d75
:recycle: Atualizacao do json do database.
Mar 28, 2024
9a0761d
:recycle: Criacao da VehicleService.
Mar 28, 2024
f62ebb2
:recycle: Inclusao da provideVehicleService.
Mar 28, 2024
bffe573
:recycle: Atualizacao do database com vehicleDao.
Mar 28, 2024
f66afbd
:recycle: Renomeacao do arquivo.
Mar 28, 2024
9d62c55
:recycle: Alteração do nome do metodo.
Mar 28, 2024
4a9e17b
:recycle: Alteração do nome da classe.
Mar 28, 2024
ab32c51
:recycle: Criacao de componente para pegar o indice das imagens.
Mar 28, 2024
558b496
:recycle: Utilizacao do metodo para pegar o indice das magens.
Mar 28, 2024
596ad17
:recycle: Renomeacao das classes MyListNavigation, MyListScreen, MyLi…
Mar 28, 2024
9b3e4e6
:recycle: Inclusao da provideVehicleDao.
Mar 28, 2024
b7f4705
:recycle: Renomeacao da rota myListRoute.
Mar 28, 2024
3ddc7da
:lipstick: Implementação da listagem de veiculos.
Mar 28, 2024
4cb5681
:recycle: Ajustes nas telas de filmes e detalhes.
Mar 28, 2024
d03c41b
:recycle: Ajuste no numero de linhas da descricao.
Mar 28, 2024
9c9db81
:recycle: Atualizacao do json do database.
Mar 28, 2024
af35b84
:recycle: Atualizacao das entidades movies e vehicles.
Mar 28, 2024
36c1f5c
:recycle: Alteracao do nome da rota homeRoute para movieHoute.
Mar 28, 2024
df961c4
:recycle: Implementação dos casos de uso de movies, e vehicles e orga…
Mar 28, 2024
ecb35b8
:recycle: Implementação dos casos de uso de movies, e vehicles e orga…
Mar 28, 2024
7606688
Merge remote-tracking branch 'origin/master'
Mar 28, 2024
50d390b
:recycle: Renomeacao dos parametros onAddToMyListClick e onRemoveFrom…
Mar 28, 2024
d68145c
:recycle: Implementação do detalhe do veiculo.
Mar 28, 2024
a16e264
:recycle: Refatoração das classes de movies e vehicles com alteração …
Mar 29, 2024
facabb0
:recycle: inclusão de timeout de 30sg.
Mar 29, 2024
fe45b36
:wrench: inclusão da dependencia do data store.
Mar 30, 2024
1797582
:recycle: Atualização das rotas.
Mar 30, 2024
4bc0e77
:recycle: alteração na estrategia de gravacao.
Mar 30, 2024
332f9cb
:recycle: correção do campo de atualizaão.
Mar 30, 2024
f6494ef
:recycle: implementação do controle das atualizações de movies e vehi…
Mar 30, 2024
ef7d44d
:recycle: implementação do controle das atualizações de movies e vehi…
Mar 30, 2024
95c7621
Merge remote-tracking branch 'origin/master'
Mar 30, 2024
eb9bed9
:recycle:Alteração de icone.
Mar 30, 2024
de465a2
:recycle: Criação do model, entidade e Dao de Specie.
Mar 30, 2024
e3bfef2
:recycle: Criação do provideSpecieDao.
Mar 30, 2024
809da18
:recycle: Inclusao da classe SpecieEntity no StarWarsDatabase.
Mar 30, 2024
295595d
:recycle: Criação da classe de response para specie.
Mar 30, 2024
1f87c29
:recycle: Criação service para specie.
Mar 30, 2024
1513e78
:recycle: Criação uiState para specie.
Mar 30, 2024
370fa6a
:recycle: Criação SpecieSampleData.
Mar 30, 2024
cdea5f7
:recycle: Implementação da busca e lista de species.
Mar 30, 2024
9ea6d8a
:recycle: Organização das packages em navigation.
Mar 30, 2024
325c494
:recycle: Implementação de detalhe, e favoritos de specie. Ajuste na …
Mar 30, 2024
3bbe923
:wrench: Ajuste em algumas versoes do gradle.
Apr 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions StarWars/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
3 changes: 3 additions & 0 deletions StarWars/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions StarWars/.idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions StarWars/.idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

41 changes: 41 additions & 0 deletions StarWars/.idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions StarWars/.idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions StarWars/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions StarWars/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
112 changes: 112 additions & 0 deletions StarWars/app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android") version("1.8.10")
id("com.google.dagger.hilt.android")
id("com.google.devtools.ksp")
id("androidx.navigation.safeargs.kotlin")
id("dagger.hilt.android.plugin")
id("kotlin-kapt")
}

android {
namespace = "br.com.gstoduto.starwars"
compileSdk = 34

defaultConfig {
applicationId = "br.com.gstoduto.starwars"
minSdk = 29
targetSdk = 34
versionCode = 1
versionName = "1.0"

testInstrumentationRunner = "br.com.gstoduto.starwars.HiltTestRunner"
vectorDrawables {
useSupportLibrary = true
}
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_18
targetCompatibility = JavaVersion.VERSION_18
}
kotlinOptions {
jvmTarget = "18"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.2"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
kapt {
correctErrorTypes = true
}
ksp {
arg("room.schemaLocation","$projectDir/schemas")
}
hilt {
enableAggregatingTask = true
}
}

dependencies {
val navVersion = "2.7.7"
val roomVersion = "2.5.1"

implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.8.2")
implementation(platform("androidx.compose:compose-bom:2023.03.00"))
implementation("androidx.datastore:datastore-core:1.0.0")
implementation("androidx.datastore:datastore-preferences:1.0.0")
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.material:material-icons-extended")

implementation("androidx.room:room-runtime:$roomVersion")
ksp("androidx.room:room-compiler:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")

implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-moshi:2.9.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.10.0")

implementation("com.google.dagger:hilt-android:2.51.1")
kapt("com.google.dagger:hilt-compiler:2.51.1")
implementation("androidx.hilt:hilt-navigation-compose:1.2.0")

implementation("androidx.navigation:navigation-runtime-ktx:$navVersion")
implementation("androidx.navigation:navigation-compose:$navVersion")
androidTestImplementation("androidx.navigation:navigation-testing:$navVersion")
androidTestImplementation("com.google.dagger:hilt-android-testing:2.51.1")
debugImplementation("com.google.dagger:hilt-android-testing:2.51.1")
kaptAndroidTest("com.google.dagger:hilt-android-compiler:2.51.1")
implementation("androidx.test:core:1.5.0")
debugImplementation("androidx.fragment:fragment-testing:1.7.0-beta01")

implementation("io.coil-kt:coil-compose:2.6.0")

testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
}
21 changes: 21 additions & 0 deletions StarWars/app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"formatVersion": 1,
"database": {
"version": 1,
"identityHash": "253582c4c823992317abd8ef79b798b1",
"entities": [
{
"tableName": "movies",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`title` TEXT NOT NULL, `episode_id` TEXT, `opening_crawl` TEXT, `director` TEXT NOT NULL, `producer` TEXT NOT NULL, `url` TEXT NOT NULL, `inMyList` INTEGER NOT NULL, PRIMARY KEY(`title`))",
"fields": [
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "episodeId",
"columnName": "episode_id",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "openingCrawl",
"columnName": "opening_crawl",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "director",
"columnName": "director",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "producer",
"columnName": "producer",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "inMyList",
"columnName": "inMyList",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"autoGenerate": false,
"columnNames": [
"title"
]
},
"indices": [],
"foreignKeys": []
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '253582c4c823992317abd8ef79b798b1')"
]
}
}
Loading