Skip to content

Commit

Permalink
Merge pull request #160 from JNU-econovation/aos
Browse files Browse the repository at this point in the history
[AOS/FEAT] aos merge to main
  • Loading branch information
Hyeonz1 authored Jan 4, 2024
2 parents 7d17ddc + d561ec8 commit 274d1a6
Show file tree
Hide file tree
Showing 77 changed files with 2,327 additions and 560 deletions.
1 change: 1 addition & 0 deletions AOS/.idea/gradle.xml

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

2 changes: 1 addition & 1 deletion AOS/.idea/misc.xml

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

26 changes: 26 additions & 0 deletions AOS/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id "org.jlleitschuh.gradle.ktlint" version '11.6.1'
id 'org.jetbrains.kotlin.plugin.serialization' version '1.7.20'
id 'kotlin-kapt'
id 'com.google.dagger.hilt.android'
}

android {
Expand Down Expand Up @@ -77,4 +80,27 @@ dependencies {
debugImplementation 'androidx.compose.ui:ui-tooling'
debugImplementation 'androidx.compose.ui:ui-test-manifest'
implementation "androidx.navigation:navigation-compose:$nav_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1"

// Hilt Dependency
implementation "com.google.dagger:hilt-android:2.44"
kapt "com.google.dagger:hilt-compiler:2.44"
implementation 'androidx.hilt:hilt-navigation-compose:1.0.0'
implementation 'androidx.hilt:hilt-navigation-fragment:1.0.0'

// Retrofit Dependency
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

// define a BOM and its version
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.11.0"))

// define any required OkHttp artifacts without version
implementation("com.squareup.okhttp3:okhttp")
implementation("com.squareup.okhttp3:logging-interceptor")
}

// Allow references to generated code
kapt {
correctErrorTypes true
}
11 changes: 11 additions & 0 deletions AOS/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET"/>

<application
android:name=".EEOSApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
Expand All @@ -22,6 +25,14 @@

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.VIEW" />

<data android:scheme="eeos" android:host="econo.eeos" />
</intent-filter>
</activity>
</application>

Expand Down
7 changes: 7 additions & 0 deletions AOS/app/src/main/java/com/example/eeos/EEOSApplication.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.example.eeos

import android.app.Application
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class EEOSApplication : Application()
11 changes: 8 additions & 3 deletions AOS/app/src/main/java/com/example/eeos/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import androidx.activity.compose.setContent
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.example.eeos.navigation.EEOSNavGraph
import com.example.eeos.ui.home.ProgramLists
import com.example.eeos.ui.theme.EeosTheme
import com.example.eeos.presentation.home.ProgramLists
import com.example.eeos.presentation.theme.EeosTheme
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -25,8 +27,11 @@ class MainActivity : ComponentActivity() {
fun GreetingPreview() {
EeosTheme {
ProgramLists(
loading = false,
empty = false,
programLists = listOf(),
onProgramClick = {}
onProgramClick = {},
loadMorePrograms = {}
)
}
}
62 changes: 62 additions & 0 deletions AOS/app/src/main/java/com/example/eeos/consts/Consts.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.example.eeos.consts

val category = listOf("all", "weekly", "president", "event", " etc")
val programStatus = listOf("active", "end")

val categoryChips: List<String> = listOf(
"전체",
"주간 발표",
"회장단",
"행사부",
"기타 행사"
)
val programStatusChips: List<String> = listOf(
"진행 중",
"완료"
)

object ActiveStatus {
const val am = "am"
const val rm = "rm"
const val cm = "cm"
const val ob = "ob"
}

object Category {
const val weekly = "weekly"
const val president = "president"
const val event = "event"
const val etc = "etc"
}

object ProgramStatus {
const val active = "active"
const val end = "end"
}

object ProgramType {
const val demand = " demand"
const val notification = "notification"
}

object AttendStatus {
const val attend = "attend"
const val absent = "absent"
const val perceive = "perceive"
const val nonResponse = "nonResponse"
const val nonRelated = "nonRelated"
}

val attendStatusMap = mapOf(
"attend" to "참석",
"absent" to "불참",
"perceive" to "지각",
"nonResponse" to "미정"
)

object MemberStatus {
const val AM = "AM"
const val RM = "RM"
const val CM = "CM"
const val OB = "OB"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.example.eeos.data.model.remote.request

import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class RequestPutActiveStatusDto(
@Contextual
@SerialName("activeStatus")
val activeStatus: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.example.eeos.data.model.remote.request

import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class RequestPutAttendStatusDto(
@Contextual
@SerialName("beforeAttendStatus")
val beforeAttendStatus: String,
@Contextual
@SerialName("afterAttendStatus")
val afterAttendStatus: String
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.example.eeos.data.model.remote.response

import com.example.eeos.domain.model.ActiveStatus
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class ResponseGetActiveStatusDto(
@SerialName("name")
val name: String,
@Contextual
@SerialName("activeStatus")
val activeStatus: String
) {
fun toActiveStatus(): ActiveStatus =
ActiveStatus(
name = name,
activeStatus = when (activeStatus) {
"am" -> "AM"
"cm" -> "CM"
"rm" -> "RM"
"ob" -> "OB"
else -> ""
}
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.example.eeos.data.model.remote.response

import com.example.eeos.domain.model.AttendStatus
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class ResponseGetAttendStatusDto(
@SerialName("name")
val name: String,
@Contextual
@SerialName("activeStatus")
val attendStatus: String
) {
fun toAttendStatus(): AttendStatus =
AttendStatus(
name = name,
attendStatus = attendStatus
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.example.eeos.data.model.remote.response

import com.example.eeos.domain.model.Member
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class ResponseGetMemberListDto(
@SerialName("members")
val members: List<GetMemberDto>
) {
@Serializable
data class GetMemberDto(
@SerialName("memberId")
val memberId: Int,
@SerialName("name")
val name: String,
@Contextual
@SerialName("attendStatus")
val attendStatus: String
)

fun toMemberList(): List<Member> = members.map { member ->
Member(
name = member.name,
attendStatus = member.attendStatus
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.example.eeos.data.model.remote.response

import com.example.eeos.domain.model.ProgramDetail
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class ResponseGetProgramDetailDto(
@SerialName("programId")
val programId: Int,
@SerialName("title")
val title: String,
@SerialName("deadLine")
val deadLine: String,
@SerialName("content")
val content: String,
@Contextual
@SerialName("category")
val category: String,
@SerialName("programStatus")
@Contextual
val programStatus: String,
@Contextual
@SerialName("type")
val type: String
) {
fun toProgramDetail(): ProgramDetail = ProgramDetail(
title = title,
deadLine = deadLine,
content = content,
category = category,
type = type
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.example.eeos.data.model.remote.response

import com.example.eeos.domain.model.Program
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class ResponseGetProgramListDto(
@SerialName("size")
val size: Int,
@SerialName("page")
val page: Int,
@SerialName("totalPage")
val totalPage: Int,
@SerialName("programs")
val programs: List<GetProgramDto>
) {
@Serializable
data class GetProgramDto(
@SerialName("programId")
val programId: Int,
@SerialName("title")
val title: String,
@SerialName("deadLine")
val deadLine: String,
@Contextual
@SerialName("category")
val category: String,
@Contextual
@SerialName("programStatus")
val programStatus: String,
@Contextual
@SerialName("type")
val type: String
)

fun toProgramList(): List<Program> = programs.map { program ->
Program(
programId = program.programId,
title = program.title,
deadLine = program.deadLine,
category = program.category,
programStatus = program.programStatus,
type = program.type
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.example.eeos.data.model.remote.response

import com.example.eeos.consts.ActiveStatus
import kotlinx.serialization.Contextual
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class ResponsePutActiveStatusDto(
@SerialName("name")
val name: String,
@Contextual
@SerialName("activeStatus")
val activeStatus: ActiveStatus
)
Loading

0 comments on commit 274d1a6

Please sign in to comment.