├── app ├── .gitignore ├── src │ ├── main │ │ ├── ic_launcher-playstore.png │ │ ├── res │ │ │ ├── drawable-v24 │ │ │ │ ├── booking.png │ │ │ │ ├── lotus.png │ │ │ │ ├── nochats.png │ │ │ │ ├── splash.gif │ │ │ │ ├── location.png │ │ │ │ ├── nobooking.png │ │ │ │ ├── building_pic.png │ │ │ │ ├── forgotpass.png │ │ │ │ ├── login_logo.png │ │ │ │ ├── package_img.png │ │ │ │ ├── signup_cmp.png │ │ │ │ ├── signup_user.png │ │ │ │ ├── verify_otp.png │ │ │ │ ├── confirmbooking.png │ │ │ │ ├── white_circle.xml │ │ │ │ ├── custom_button.xml │ │ │ │ ├── custom_button_reg.xml │ │ │ │ ├── custom_search_icon.xml │ │ │ │ ├── ic_warning_orange_24dp.xml │ │ │ │ ├── ic_search_focused.xml │ │ │ │ ├── ic_search_bar.xml │ │ │ │ ├── custom_search.xml │ │ │ │ ├── custom_progress_load.xml │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── values │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── custom_styles.xml │ │ │ │ ├── strings.xml │ │ │ │ ├── preloaded_fonts.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── themes.xml │ │ │ │ └── font_certs.xml │ │ │ ├── drawable │ │ │ │ ├── custom_send_background.xml │ │ │ │ ├── custom_border.xml │ │ │ │ ├── custom_yellow_stroke.xml │ │ │ │ ├── ic_baseline_add_24.xml │ │ │ │ ├── ic_check.xml │ │ │ │ ├── custom_focus.xml │ │ │ │ ├── ic_baseline_filter_list_24.xml │ │ │ │ ├── bottom_nav_icon_color.xml │ │ │ │ ├── ic_delete.xml │ │ │ │ ├── ic_back.xml │ │ │ │ ├── ic_baseline_send_24.xml │ │ │ │ ├── ic_close.xml │ │ │ │ ├── ic_person.xml │ │ │ │ ├── chat_background.xml │ │ │ │ ├── ic_baseline_email_24.xml │ │ │ │ ├── ic_chat.xml │ │ │ │ ├── background_left.xml │ │ │ │ ├── background_right.xml │ │ │ │ ├── ic_location.xml │ │ │ │ ├── ic_baseline_edit_24.xml │ │ │ │ ├── ic_baseline_favorite_24.xml │ │ │ │ ├── ic_book_online.xml │ │ │ │ ├── ic_doe.xml │ │ │ │ ├── ic_delete_forever.xml │ │ │ │ ├── ic_lock.xml │ │ │ │ ├── ic_pass.xml │ │ │ │ ├── ic_phone.xml │ │ │ │ ├── ic_account.xml │ │ │ │ ├── ic_call.xml │ │ │ │ ├── ic_home.xml │ │ │ │ ├── ic_chat_bubble.xml │ │ │ │ ├── ic_settings.xml │ │ │ │ ├── ic_arrow.xml │ │ │ │ ├── ic_information_button.xml │ │ │ │ ├── ic_building.xml │ │ │ │ └── ic_filter.xml │ │ │ ├── font │ │ │ │ ├── baloo_paaji.xml │ │ │ │ ├── roboto_bold.xml │ │ │ │ ├── roboto_light.xml │ │ │ │ ├── roboto_medium.xml │ │ │ │ ├── roboto_thin.xml │ │ │ │ └── open_sans_condensed_bold.xml │ │ │ ├── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ ├── menu │ │ │ │ ├── guest_bottom_nav.xml │ │ │ │ ├── usr_bottom_nav.xml │ │ │ │ └── cmp_bottom_nav.xml │ │ │ ├── values-night │ │ │ │ └── themes.xml │ │ │ ├── values-v31 │ │ │ │ └── themes.xml │ │ │ └── layout │ │ │ │ ├── activity_splash.xml │ │ │ │ ├── chat_item_left.xml │ │ │ │ ├── activity_cmp_home.xml │ │ │ │ ├── activity_user_home.xml │ │ │ │ ├── activity_guest_home.xml │ │ │ │ ├── layout_dialog_profile.xml │ │ │ │ ├── chat_item_right.xml │ │ │ │ ├── fragment_guest_book.xml │ │ │ │ ├── fragment_guest_chat.xml │ │ │ │ ├── chat_list_item.xml │ │ │ │ ├── dialog_delete.xml │ │ │ │ ├── usr_home_item.xml │ │ │ │ ├── fragment_chat_cmp.xml │ │ │ │ ├── package_usr_item.xml │ │ │ │ ├── package_item_layout.xml │ │ │ │ ├── fragment_user_home.xml │ │ │ │ ├── fragment_guest_home.xml │ │ │ │ ├── fragment_cmp_book.xml │ │ │ │ ├── fragment_user_book.xml │ │ │ │ ├── activity_about_us.xml │ │ │ │ ├── fragment_user_chat.xml │ │ │ │ └── activity_messaging.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── harvin │ │ │ │ └── evento │ │ │ │ ├── Model │ │ │ │ ├── ChatListModel.kt │ │ │ │ ├── UserModel.kt │ │ │ │ ├── ChatModel.kt │ │ │ │ ├── PackageItemModel.kt │ │ │ │ ├── CompanyModel.kt │ │ │ │ └── BookingModel.kt │ │ │ │ ├── AboutUsActivity.kt │ │ │ │ ├── GuestFragment │ │ │ │ ├── GuestBookFragment.kt │ │ │ │ ├── GuestChatFragment.kt │ │ │ │ └── GuestAccountFragment.kt │ │ │ │ ├── CmpFragment │ │ │ │ ├── AccountCmpFragment.kt │ │ │ │ ├── BookCmpFragment.kt │ │ │ │ └── ChatCmpFragment.kt │ │ │ │ ├── ForgotPasswordActivity.kt │ │ │ │ ├── Adapters │ │ │ │ ├── RecyclerCmpChatListAdapter.kt │ │ │ │ ├── RecyclerUserChatListAdapter.kt │ │ │ │ ├── RecyclerCmpHomeAdapter.kt │ │ │ │ ├── RecyclerUserHomeAdapter.kt │ │ │ │ ├── RecyclerMessageAdapter.kt │ │ │ │ ├── RecyclerUsrCmpPkgAdapter.kt │ │ │ │ └── RecyclerCmpBookAdapter.kt │ │ │ │ ├── Users │ │ │ │ ├── UserHomeActivity.kt │ │ │ │ ├── UserBookConfirmActivity.kt │ │ │ │ ├── UserRegistrationActivity.kt │ │ │ │ └── UserCmpDetailsActivity.kt │ │ │ │ ├── Guest │ │ │ │ └── GuestHomeActivity.kt │ │ │ │ ├── Company │ │ │ │ ├── CmpHomeActivity.kt │ │ │ │ ├── CmpAddPackageActivity.kt │ │ │ │ ├── CmpRegDetailsActivity.kt │ │ │ │ ├── CmpRegistrationActivity.kt │ │ │ │ └── CmpEditPackageActivity.kt │ │ │ │ ├── UserFragment │ │ │ │ ├── UserBookFragment.kt │ │ │ │ └── UserChatFragment.kt │ │ │ │ └── SplashActivity.kt │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── harvin │ │ │ └── evento │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── harvin │ │ └── evento │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro ├── google-services.json └── build.gradle ├── .idea ├── .gitignore ├── codeStyles │ ├── codeStyleConfig.xml │ └── Project.xml ├── compiler.xml ├── vcs.xml └── gradle.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── settings.gradle ├── gradle.properties └── gradlew.bat /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/booking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/booking.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/lotus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/lotus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/nochats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/nochats.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/splash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/splash.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/location.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/nobooking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/nobooking.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/building_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/building_pic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/forgotpass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/forgotpass.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/login_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/login_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/package_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/package_img.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/signup_cmp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/signup_cmp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/signup_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/signup_user.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/verify_otp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/verify_otp.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/confirmbooking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/confirmbooking.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Model/ChatListModel.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Model 2 | 3 | data class ChatListModel(val id :String?){ 4 | constructor() : this(null) 5 | } 6 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/white_circle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/custom_styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Evento 3 | Hello blank fragment 4 | 5 | "YOUR API KEY" 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/custom_send_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/custom_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/custom_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed May 18 11:22:59 IST 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/custom_button_reg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Model/UserModel.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Model 2 | //User Model Class 3 | data class UserModel( val userID: String?, 4 | val cname: String?, 5 | val email: String?){ 6 | constructor() : this(null, null, null) 7 | } 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/custom_yellow_stroke.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Model/ChatModel.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Model 2 | 3 | data class ChatModel(val sender: String?, 4 | val receiver: String?, 5 | val msg: String?, 6 | val isseen: Boolean?){ 7 | constructor() : this(null, null, null,null) 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Model/PackageItemModel.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Model 2 | 3 | data class PackageItemModel( 4 | val cmpID: String?, val packID: String?, 5 | val title:String?, 6 | val desc:String?, 7 | val price:String?, 8 | val pcount:String?){ 9 | 10 | constructor() : this(null, null, null,null,null,null) 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_add_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/custom_search_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_check.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/custom_focus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/AboutUsActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | 6 | class AboutUsActivity : AppCompatActivity() { 7 | override fun onCreate(savedInstanceState: Bundle?) { 8 | super.onCreate(savedInstanceState) 9 | setContentView(R.layout.activity_about_us) 10 | } 11 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_filter_list_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bottom_nav_icon_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_delete.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | } 15 | rootProject.name = "Evento" 16 | include ':app' 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_back.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_send_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/font/baloo_paaji.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_bold.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_medium.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/font/roboto_thin.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_warning_orange_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_person.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/font/open_sans_condensed_bold.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Model/CompanyModel.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Model 2 | 3 | data class CompanyModel( 4 | val cmpID: String?, 5 | val phone: String?, 6 | val cname: String?, 7 | val email: String?, 8 | val yoe: String?, 9 | val cin: String?, 10 | val desc: String?, 11 | val service: String?, 12 | val location: String? 13 | ){ 14 | constructor() : this(null, null, null,null,null,null,null,null,null) 15 | } -------------------------------------------------------------------------------- /app/src/test/java/com/harvin/evento/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/values/preloaded_fonts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @font/baloo_paaji 5 | @font/open_sans_condensed_bold 6 | @font/roboto_bold 7 | @font/roboto_light 8 | @font/roboto_medium 9 | @font/roboto_thin 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chat_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_email_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_chat.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/background_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_location.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_edit_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_favorite_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_book_online.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_doe.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_delete_forever.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Model/BookingModel.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Model 2 | 3 | data class BookingModel(val bookID: String?, 4 | val packID: String?, 5 | val cmpID: String?, 6 | val userID: String?, 7 | val pkgName: String?, 8 | val pkgPrice: String?, 9 | val pkgDesc: String?, 10 | val status: String?){ 11 | constructor() : this(null, null, null,null,null, null,null,null) 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_lock.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_pass.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_search_focused.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_phone.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_search_bar.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_account.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_call.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/menu/guest_bottom_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 15 | 16 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/menu/usr_bottom_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 15 | 16 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/menu/cmp_bottom_nav.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 16 | 17 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | #F9AA33 11 | #fef5e6 12 | #344955 13 | #232F34 14 | #FF0000 15 | #00FF00 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/harvin/evento/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.harvin.evento", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/custom_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/custom_progress_load.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 14 | 17 | 18 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_chat_bubble.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/values-v31/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/GuestFragment/GuestBookFragment.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.GuestFragment 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import androidx.fragment.app.Fragment 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | import com.harvin.evento.MainActivity 10 | import com.harvin.evento.R 11 | import com.harvin.evento.databinding.FragmentGuestBookBinding 12 | import com.harvin.evento.databinding.FragmentGuestChatBinding 13 | 14 | 15 | class GuestBookFragment : Fragment() { 16 | 17 | private lateinit var binding: FragmentGuestBookBinding 18 | override fun onCreateView( 19 | inflater: LayoutInflater, container: ViewGroup?, 20 | savedInstanceState: Bundle? 21 | ): View? { 22 | 23 | binding=FragmentGuestBookBinding.inflate(inflater,container,false) 24 | 25 | binding.usrLoginBook.setOnClickListener { 26 | startActivity(Intent(activity, MainActivity::class.java)) 27 | } 28 | 29 | return binding.root 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/GuestFragment/GuestChatFragment.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.GuestFragment 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import androidx.fragment.app.Fragment 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | import com.harvin.evento.MainActivity 10 | import com.harvin.evento.R 11 | import com.harvin.evento.databinding.FragmentGuestChatBinding 12 | import com.harvin.evento.databinding.FragmentGuestHomeBinding 13 | 14 | class GuestChatFragment : Fragment() { 15 | private lateinit var binding:FragmentGuestChatBinding 16 | override fun onCreateView( 17 | inflater: LayoutInflater, container: ViewGroup?, 18 | savedInstanceState: Bundle? 19 | ): View? { 20 | // Inflate the layout for this fragment 21 | binding=FragmentGuestChatBinding.inflate(inflater,container,false) 22 | 23 | binding.usrLoginChat.setOnClickListener { 24 | startActivity(Intent(activity,MainActivity::class.java)) 25 | } 26 | 27 | return binding.root 28 | } 29 | 30 | 31 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | 19 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_settings.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_item_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_cmp_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_user_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_guest_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_dialog_profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/GuestFragment/GuestAccountFragment.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.GuestFragment 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import androidx.fragment.app.Fragment 6 | import android.view.LayoutInflater 7 | import android.view.View 8 | import android.view.ViewGroup 9 | import com.harvin.evento.AboutUsActivity 10 | import com.harvin.evento.MainActivity 11 | import com.harvin.evento.R 12 | import com.harvin.evento.databinding.FragmentGuestAccountBinding 13 | import com.harvin.evento.databinding.FragmentGuestBookBinding 14 | import com.harvin.evento.databinding.FragmentGuestChatBinding 15 | 16 | 17 | class GuestAccountFragment : Fragment() { 18 | 19 | private lateinit var binding: FragmentGuestAccountBinding 20 | 21 | override fun onCreateView( 22 | inflater: LayoutInflater, container: ViewGroup?, 23 | savedInstanceState: Bundle? 24 | ): View? { 25 | binding= FragmentGuestAccountBinding.inflate(inflater,container,false) 26 | 27 | binding.guestLogAcc.setOnClickListener { 28 | startActivity(Intent(activity, MainActivity::class.java)) 29 | } 30 | 31 | binding.textView23.setOnClickListener { 32 | startActivity(Intent(activity, AboutUsActivity::class.java)) 33 | } 34 | 35 | return binding.root 36 | } 37 | 38 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Kotlin code style for this project: "official" or "obsolete": 19 | kotlin.code.style=official 20 | # Enables namespacing of each library's R class so that its R class includes only the 21 | # resources declared in the library itself and none from the library's dependencies, 22 | # thereby reducing the size of the R class for that library 23 | android.nonTransitiveRClass=true -------------------------------------------------------------------------------- /app/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "907599962030", 4 | "firebase_url": "https://evento-db076-default-rtdb.firebaseio.com", 5 | "project_id": "evento-db076", 6 | "storage_bucket": "evento-db076.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:907599962030:android:4b38f4c32a2746fc43f23f", 12 | "android_client_info": { 13 | "package_name": "com.harvin.evento" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "907599962030-2eh4rspa8j6cdg0dbvmfjouaan1h3l88.apps.googleusercontent.com", 19 | "client_type": 1, 20 | "android_info": { 21 | "package_name": "com.harvin.evento", 22 | "certificate_hash": "6cf164f2cf341d526ca5570dbc3919b582aac6a0" 23 | } 24 | }, 25 | { 26 | "client_id": "907599962030-ollb9ukh36nk6fgafralacinaiqcv9i9.apps.googleusercontent.com", 27 | "client_type": 3 28 | } 29 | ], 30 | "api_key": [ 31 | { 32 | "current_key": "AIzaSyAH34y6URHXoRmMlNz47ix3BfWOUpaqnXA" 33 | } 34 | ], 35 | "services": { 36 | "appinvite_service": { 37 | "other_platform_oauth_client": [ 38 | { 39 | "client_id": "907599962030-ollb9ukh36nk6fgafralacinaiqcv9i9.apps.googleusercontent.com", 40 | "client_type": 3 41 | } 42 | ] 43 | } 44 | } 45 | } 46 | ], 47 | "configuration_version": "1" 48 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_item_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 19 | 20 | 31 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/CmpFragment/AccountCmpFragment.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.CmpFragment 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import androidx.fragment.app.Fragment 9 | import com.google.firebase.auth.FirebaseAuth 10 | import com.google.firebase.database.DatabaseReference 11 | import com.harvin.evento.AboutUsActivity 12 | import com.harvin.evento.Company.CmpEditProfileActivity 13 | import com.harvin.evento.Company.CmpHomeActivity 14 | import com.harvin.evento.MainActivity 15 | import com.harvin.evento.databinding.FragmentAccountCmpBinding 16 | 17 | class AccountCmpFragment : Fragment() { 18 | private lateinit var binding:FragmentAccountCmpBinding 19 | override fun onCreateView( 20 | inflater: LayoutInflater, container: ViewGroup?, 21 | savedInstanceState: Bundle? 22 | ): View { 23 | binding= FragmentAccountCmpBinding.inflate(inflater,container,false) 24 | 25 | binding.logoutCmp.setOnClickListener { 26 | FirebaseAuth.getInstance().signOut() 27 | val i = Intent(activity, MainActivity::class.java) 28 | i.flags=Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK 29 | startActivity(i) 30 | } 31 | binding.viewCmpProfile.setOnClickListener { 32 | startActivity(Intent(activity, CmpEditProfileActivity::class.java)) 33 | } 34 | 35 | binding.textView23.setOnClickListener { 36 | startActivity(Intent(activity, AboutUsActivity::class.java)) 37 | } 38 | 39 | return binding.root 40 | } 41 | 42 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/ForgotPasswordActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import android.view.View 6 | import android.widget.Toast 7 | import androidx.appcompat.app.AppCompatActivity 8 | import com.google.firebase.auth.FirebaseAuth 9 | import com.harvin.evento.databinding.ActivityForgotPasswordBinding 10 | 11 | class ForgotPasswordActivity : AppCompatActivity() { 12 | private lateinit var binding:ActivityForgotPasswordBinding 13 | var fAuth: FirebaseAuth? = null 14 | override fun onCreate(savedInstanceState: Bundle?) { 15 | super.onCreate(savedInstanceState) 16 | binding=ActivityForgotPasswordBinding.inflate(layoutInflater) 17 | setContentView(binding.root) 18 | 19 | fAuth = FirebaseAuth.getInstance() 20 | binding.forgotPass.setOnClickListener { 21 | binding.rProgLayout.visibility= View.VISIBLE 22 | fAuth!!.sendPasswordResetEmail(binding.forgotMail.text.toString().trim()).addOnCompleteListener { 23 | if (it.isSuccessful){ 24 | binding.rProgLayout.visibility= View.GONE 25 | Toast.makeText(this@ForgotPasswordActivity, "Reset Link Sent To Email.", Toast.LENGTH_SHORT).show() 26 | startActivity(Intent(applicationContext,MainActivity::class.java)) 27 | } 28 | else{ 29 | binding.rProgLayout.visibility= View.GONE 30 | Toast.makeText(this@ForgotPasswordActivity, "Error ! Reset Link Not Sent", Toast.LENGTH_SHORT).show() 31 | } 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_information_button.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Adapters/RecyclerCmpChatListAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Adapters 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.TextView 9 | import androidx.recyclerview.widget.RecyclerView 10 | import com.harvin.evento.Company.CmpEditPackageActivity 11 | import com.harvin.evento.MessagingActivity 12 | import com.harvin.evento.Model.CompanyModel 13 | import com.harvin.evento.Model.PackageItemModel 14 | import com.harvin.evento.R 15 | 16 | class RecyclerCmpChatListAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() { 17 | override fun onCreateViewHolder( 18 | parent: ViewGroup, 19 | viewType: Int 20 | ): ViewHolder { 21 | val view = LayoutInflater.from(parent.context) 22 | .inflate(R.layout.chat_list_item, parent, false) 23 | 24 | return ViewHolder(view) 25 | } 26 | 27 | override fun onBindViewHolder(holder: ViewHolder, position: Int) { 28 | val PackageItem = mList[position] 29 | holder.titleTV.text=PackageItem.cname 30 | holder.itemView.setOnClickListener { 31 | val intent = Intent(it.context, MessagingActivity::class.java) 32 | intent.putExtra("cmpID", PackageItem.cmpID.toString()) 33 | it.context.startActivity(intent) 34 | } 35 | 36 | } 37 | 38 | override fun getItemCount(): Int { 39 | return mList.size 40 | } 41 | 42 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) { 43 | val titleTV: TextView = itemView.findViewById(R.id.username1) 44 | 45 | } 46 | 47 | 48 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Adapters/RecyclerUserChatListAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Adapters 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.TextView 9 | import androidx.recyclerview.widget.RecyclerView 10 | import com.harvin.evento.Company.CmpEditPackageActivity 11 | import com.harvin.evento.MessagingActivity 12 | import com.harvin.evento.Model.CompanyModel 13 | import com.harvin.evento.Model.PackageItemModel 14 | import com.harvin.evento.Model.UserModel 15 | import com.harvin.evento.R 16 | 17 | class RecyclerUserChatListAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() { 18 | override fun onCreateViewHolder( 19 | parent: ViewGroup, 20 | viewType: Int 21 | ): ViewHolder { 22 | val view = LayoutInflater.from(parent.context) 23 | .inflate(R.layout.chat_list_item, parent, false) 24 | 25 | return ViewHolder(view) 26 | } 27 | 28 | override fun onBindViewHolder(holder: ViewHolder, position: Int) { 29 | val PackageItem = mList[position] 30 | holder.titleTV.text=PackageItem.cname 31 | holder.itemView.setOnClickListener { 32 | val intent = Intent(it.context, MessagingActivity::class.java) 33 | intent.putExtra("cmpID", PackageItem.userID.toString()) 34 | it.context.startActivity(intent) 35 | } 36 | 37 | } 38 | 39 | override fun getItemCount(): Int { 40 | return mList.size 41 | } 42 | 43 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) { 44 | val titleTV: TextView = itemView.findViewById(R.id.username1) 45 | 46 | } 47 | 48 | 49 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Users/UserHomeActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Users 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | import android.view.MenuItem 6 | import androidx.fragment.app.Fragment 7 | import com.google.android.material.navigation.NavigationBarView 8 | import com.harvin.evento.R 9 | import com.harvin.evento.UserFragment.UserAccountFragment 10 | import com.harvin.evento.UserFragment.UserBookFragment 11 | import com.harvin.evento.UserFragment.UserChatFragment 12 | import com.harvin.evento.UserFragment.UserHomeFragment 13 | import com.harvin.evento.databinding.ActivityUserHomeBinding 14 | 15 | class UserHomeActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListener { 16 | private lateinit var binding: ActivityUserHomeBinding 17 | override fun onCreate(savedInstanceState: Bundle?) { 18 | super.onCreate(savedInstanceState) 19 | binding=ActivityUserHomeBinding.inflate(layoutInflater) 20 | setContentView(binding.root) 21 | loadFragment(UserHomeFragment()) 22 | 23 | binding.bottomNavigationUsr.setOnItemSelectedListener(this) 24 | } 25 | 26 | private fun loadFragment(fragment: Fragment){ 27 | val transaction = supportFragmentManager.beginTransaction() 28 | transaction.replace(R.id.usr_fragment_container,fragment) 29 | transaction.commit() 30 | } 31 | 32 | override fun onNavigationItemSelected(item: MenuItem): Boolean { 33 | when (item.itemId) { 34 | R.id.nav_home -> loadFragment(UserHomeFragment()) 35 | R.id.nav_chats -> loadFragment(UserChatFragment()) 36 | R.id.nav_book -> loadFragment(UserBookFragment()) 37 | R.id.nav_account -> loadFragment(UserAccountFragment()) 38 | } 39 | return true 40 | } 41 | 42 | 43 | 44 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Guest/GuestHomeActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Guest 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | import android.view.MenuItem 6 | import androidx.fragment.app.Fragment 7 | import com.google.android.material.navigation.NavigationBarView 8 | import com.harvin.evento.GuestFragment.GuestAccountFragment 9 | import com.harvin.evento.GuestFragment.GuestBookFragment 10 | import com.harvin.evento.GuestFragment.GuestChatFragment 11 | import com.harvin.evento.GuestFragment.GuestHomeFragment 12 | import com.harvin.evento.R 13 | import com.harvin.evento.databinding.ActivityGuestHomeBinding 14 | 15 | class GuestHomeActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListener { 16 | private lateinit var binding: ActivityGuestHomeBinding 17 | override fun onCreate(savedInstanceState: Bundle?) { 18 | super.onCreate(savedInstanceState) 19 | binding=ActivityGuestHomeBinding.inflate(layoutInflater) 20 | setContentView(binding.root) 21 | loadFragment(GuestHomeFragment()) 22 | 23 | binding.bottomNavigationGuest.setOnItemSelectedListener(this) 24 | } 25 | 26 | private fun loadFragment(fragment: Fragment){ 27 | val transaction = supportFragmentManager.beginTransaction() 28 | transaction.replace(R.id.guest_fragment_container,fragment) 29 | transaction.commit() 30 | } 31 | 32 | 33 | override fun onNavigationItemSelected(item: MenuItem): Boolean { 34 | when (item.itemId) { 35 | R.id.nav_home -> loadFragment(GuestHomeFragment()) 36 | R.id.nav_chats -> loadFragment(GuestChatFragment()) 37 | R.id.nav_book -> loadFragment(GuestBookFragment()) 38 | R.id.nav_account -> loadFragment(GuestAccountFragment()) 39 | } 40 | return true 41 | } 42 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Company/CmpHomeActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Company 2 | 3 | import android.os.Bundle 4 | import android.view.MenuItem 5 | import androidx.appcompat.app.AppCompatActivity 6 | import androidx.fragment.app.Fragment 7 | import com.google.android.material.bottomnavigation.BottomNavigationView 8 | import com.harvin.evento.CmpFragment.AccountCmpFragment 9 | import com.harvin.evento.CmpFragment.BookCmpFragment 10 | import com.harvin.evento.CmpFragment.ChatCmpFragment 11 | import com.harvin.evento.CmpFragment.HomeCmpFragment 12 | import com.harvin.evento.R 13 | import com.harvin.evento.databinding.ActivityCmpHomeBinding 14 | 15 | 16 | class CmpHomeActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemSelectedListener { 17 | 18 | private lateinit var binding: ActivityCmpHomeBinding 19 | 20 | override fun onCreate(savedInstanceState: Bundle?) { 21 | super.onCreate(savedInstanceState) 22 | binding=ActivityCmpHomeBinding.inflate(layoutInflater) 23 | setContentView(binding.root) 24 | loadFragment(HomeCmpFragment()) 25 | 26 | binding.bottomNavigation.setOnNavigationItemSelectedListener(this) 27 | 28 | } 29 | 30 | private fun loadFragment(fragment: Fragment){ 31 | val transaction = supportFragmentManager.beginTransaction() 32 | transaction.replace(R.id.cmp_fragment_container,fragment) 33 | transaction.commit() 34 | } 35 | 36 | override fun onNavigationItemSelected(item: MenuItem): Boolean { 37 | when (item.itemId) { 38 | R.id.nav_home -> loadFragment(HomeCmpFragment()) 39 | R.id.nav_chats -> loadFragment(ChatCmpFragment()) 40 | R.id.nav_book -> loadFragment(BookCmpFragment()) 41 | R.id.nav_setting -> loadFragment(AccountCmpFragment()) 42 | } 43 | return true 44 | } 45 | } 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_building.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | id 'org.jetbrains.kotlin.android' 4 | id 'com.google.gms.google-services' 5 | id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' 6 | } 7 | 8 | android { 9 | compileSdk 32 10 | 11 | defaultConfig { 12 | applicationId "com.harvin.evento" 13 | minSdk 21 14 | targetSdk 32 15 | versionCode 1 16 | versionName "1.0" 17 | 18 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 19 | } 20 | buildFeatures { 21 | viewBinding true 22 | } 23 | buildTypes { 24 | release { 25 | minifyEnabled false 26 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 27 | } 28 | } 29 | compileOptions { 30 | sourceCompatibility JavaVersion.VERSION_1_8 31 | targetCompatibility JavaVersion.VERSION_1_8 32 | } 33 | kotlinOptions { 34 | jvmTarget = '1.8' 35 | } 36 | namespace 'com.harvin.evento' 37 | } 38 | 39 | dependencies { 40 | 41 | implementation 'androidx.core:core-ktx:1.7.0' 42 | implementation 'androidx.appcompat:appcompat:1.4.1' 43 | implementation 'com.google.android.material:material:1.6.0' 44 | implementation 'androidx.constraintlayout:constraintlayout:2.1.4' 45 | implementation 'com.google.firebase:firebase-auth-ktx:21.0.4' 46 | implementation 'com.google.android.gms:play-services-location:19.0.1' 47 | implementation 'com.google.android.gms:play-services-maps:18.0.2' 48 | implementation 'androidx.cardview:cardview:1.0.0' 49 | implementation 'com.google.firebase:firebase-auth:21.0.5' 50 | implementation 'com.google.firebase:firebase-database-ktx:20.0.5' 51 | testImplementation 'junit:junit:4.13.2' 52 | implementation "com.airbnb.android:lottie:5.0.3" 53 | androidTestImplementation 'androidx.test.ext:junit:1.1.3' 54 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 55 | implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.24' 56 | implementation 'com.google.android.libraries.places:places:2.6.0' 57 | implementation 'de.hdodenhof:circleimageview:3.1.0' 58 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_guest_book.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 20 | 21 | 29 | 30 | 41 | 42 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Users/UserBookConfirmActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Users 2 | 3 | import android.content.Intent 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.widget.Toast 7 | import com.google.firebase.auth.FirebaseAuth 8 | import com.google.firebase.database.DatabaseReference 9 | import com.google.firebase.database.FirebaseDatabase 10 | import com.harvin.evento.Model.BookingModel 11 | import com.harvin.evento.R 12 | import com.harvin.evento.databinding.ActivityUserBookConfirmBinding 13 | 14 | class UserBookConfirmActivity : AppCompatActivity() { 15 | private lateinit var binding:ActivityUserBookConfirmBinding 16 | var databaseBook: DatabaseReference? = null 17 | var userID:String?=null 18 | val bookID:String?=null 19 | override fun onCreate(savedInstanceState: Bundle?) { 20 | super.onCreate(savedInstanceState) 21 | binding=ActivityUserBookConfirmBinding.inflate(layoutInflater) 22 | setContentView(binding.root) 23 | 24 | binding.pkgNameConfirmTV.text=intent.getStringExtra("pkgName") 25 | binding.pkgPriceConfirmTV.text="\u20B9"+intent.getStringExtra("pkgPrice") 26 | binding.pkgDescConfirmTV.text=intent.getStringExtra("pkgDesc") 27 | binding.nPplConfirmTV.text=intent.getStringExtra("pkgPpl") 28 | var title=intent.getStringExtra("pkgName")+" - "+intent.getStringExtra("pkgPpl")+" ppl" 29 | 30 | databaseBook= FirebaseDatabase.getInstance().getReference("book") 31 | 32 | binding.usrConfirmBook.setOnClickListener { 33 | userID= FirebaseAuth.getInstance().currentUser!!.uid 34 | val bookID= databaseBook!!.push().key.toString() 35 | val bookingModel= BookingModel(bookID,intent.getStringExtra("packID"),intent.getStringExtra("cmpID"),userID,title,intent.getStringExtra("pkgPrice"),intent.getStringExtra("pkgDesc"),"wait") 36 | databaseBook!!.child(bookID).setValue(bookingModel) 37 | Toast.makeText(applicationContext,"Request Sent! Waiting for Approval.", Toast.LENGTH_LONG).show() 38 | val i=Intent(applicationContext,UserHomeActivity::class.java) 39 | i.flags=Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK 40 | startActivity(i) 41 | } 42 | 43 | } 44 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_filter.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Adapters/RecyclerCmpHomeAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Adapters 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.TextView 9 | import androidx.recyclerview.widget.RecyclerView 10 | import com.harvin.evento.Company.CmpEditPackageActivity 11 | import com.harvin.evento.Model.PackageItemModel 12 | import com.harvin.evento.R 13 | 14 | class RecyclerCmpHomeAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() { 15 | override fun onCreateViewHolder( 16 | parent: ViewGroup, 17 | viewType: Int 18 | ): RecyclerCmpHomeAdapter.ViewHolder { 19 | val view = LayoutInflater.from(parent.context) 20 | .inflate(R.layout.package_item_layout, parent, false) 21 | 22 | return ViewHolder(view) 23 | } 24 | 25 | override fun onBindViewHolder(holder: RecyclerCmpHomeAdapter.ViewHolder, position: Int) { 26 | val PackageItem = mList[position] 27 | holder.titleTV.text = PackageItem.title+" - "+PackageItem.pcount+" ppl" 28 | holder.priceItemTV.text = "\u20B9"+PackageItem.price 29 | holder.descItemTV.text = PackageItem.desc 30 | holder.editItemButton.setOnClickListener { 31 | val i=Intent(mContext,CmpEditPackageActivity::class.java) 32 | i.putExtra("title",PackageItem.title) 33 | i.putExtra("desc",PackageItem.desc) 34 | i.putExtra("price",PackageItem.price) 35 | i.putExtra("pcount",PackageItem.pcount) 36 | i.putExtra("cmpID",PackageItem.cmpID) 37 | i.putExtra("packID",PackageItem.packID) 38 | mContext.startActivity(i) 39 | } 40 | 41 | 42 | } 43 | 44 | override fun getItemCount(): Int { 45 | return mList.size 46 | } 47 | 48 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) { 49 | val titleTV: TextView = itemView.findViewById(R.id.titleTV) 50 | val priceItemTV: TextView = itemView.findViewById(R.id.priceItemTV) 51 | val descItemTV: TextView = itemView.findViewById(R.id.descItemTV) 52 | val editItemButton: TextView = itemView.findViewById(R.id.editItemButton) 53 | 54 | } 55 | 56 | 57 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_guest_chat.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 22 | 23 | 31 | 32 | 43 | 44 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Company/CmpAddPackageActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Company 2 | 3 | import android.content.Intent 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import com.google.firebase.auth.ktx.auth 7 | import com.google.firebase.database.DatabaseReference 8 | import com.google.firebase.database.FirebaseDatabase 9 | import com.google.firebase.ktx.Firebase 10 | import com.harvin.evento.Model.PackageItemModel 11 | import com.harvin.evento.databinding.ActivityCmpAddPackageBinding 12 | 13 | class CmpAddPackageActivity : AppCompatActivity() { 14 | private lateinit var binding: ActivityCmpAddPackageBinding 15 | 16 | var databaseCmpPack: DatabaseReference? = null 17 | override fun onCreate(savedInstanceState: Bundle?) { 18 | super.onCreate(savedInstanceState) 19 | binding= ActivityCmpAddPackageBinding.inflate(layoutInflater) 20 | setContentView(binding.root) 21 | 22 | databaseCmpPack = FirebaseDatabase.getInstance().getReference("package") 23 | 24 | binding.cmpAddPackage.setOnClickListener { 25 | if (checkEditText()){ 26 | val packID= databaseCmpPack!!.push().key.toString() 27 | val userID= Firebase.auth.currentUser?.uid.toString() 28 | val packageItemModel=PackageItemModel(userID,packID,binding.cmpPackName.text.toString(),binding.cmpPackDes.text.toString(),binding.cmpPrice.text.toString(),binding.cmpPCount.text.toString()) 29 | databaseCmpPack!!.child(packID).setValue(packageItemModel) 30 | val i = Intent(applicationContext, CmpHomeActivity::class.java) 31 | startActivity(i) 32 | } 33 | } 34 | 35 | 36 | } 37 | 38 | fun checkEditText():Boolean{ 39 | var status=true 40 | if(binding.cmpPackName.text.toString().isEmpty()){ 41 | binding.cmpNameLayout.error= "Check Fields & Try Again" 42 | status=false 43 | } 44 | if(binding.cmpPCount.text.toString().isEmpty()){ 45 | binding.cmpDoeLayout.error= "Check Fields & Try Again" 46 | status=false 47 | } 48 | if(binding.cmpPrice.text.toString().isEmpty()){ 49 | binding.cmpCinLayout.error= "Check Fields & Try Again" 50 | status=false 51 | } 52 | if(binding.cmpPackDes.text.toString().isEmpty()){ 53 | binding.cmpDesLayout.error= "Check Fields & Try Again" 54 | status=false 55 | } 56 | return status 57 | } 58 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Adapters/RecyclerUserHomeAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Adapters 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.LinearLayout 9 | import android.widget.TextView 10 | import androidx.recyclerview.widget.RecyclerView 11 | import com.harvin.evento.Company.CmpEditPackageActivity 12 | import com.harvin.evento.Model.CompanyModel 13 | import com.harvin.evento.Model.PackageItemModel 14 | import com.harvin.evento.R 15 | import com.harvin.evento.Users.UserCmpDetailsActivity 16 | 17 | class RecyclerUserHomeAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() { 18 | override fun onCreateViewHolder( 19 | parent: ViewGroup, 20 | viewType: Int 21 | ): RecyclerUserHomeAdapter.ViewHolder { 22 | val view = LayoutInflater.from(parent.context) 23 | .inflate(R.layout.usr_home_item, parent, false) 24 | return ViewHolder(view) 25 | } 26 | 27 | override fun getItemCount(): Int { 28 | return mList.size 29 | } 30 | override fun onBindViewHolder(holder: ViewHolder, position: Int) { 31 | val PackageItem = mList[position] 32 | holder.titleTV.text = PackageItem.cname 33 | holder.emailTV.text = PackageItem.email 34 | holder.locTV.text = PackageItem.location 35 | holder.itemLayout.setOnClickListener { 36 | val i=Intent(mContext,UserCmpDetailsActivity::class.java) 37 | i.putExtra("cname",PackageItem.cname) 38 | i.putExtra("cmpID",PackageItem.cmpID) 39 | i.putExtra("phone",PackageItem.phone) 40 | i.putExtra("email",PackageItem.email) 41 | i.putExtra("yoe",PackageItem.yoe) 42 | i.putExtra("cin",PackageItem.cin) 43 | i.putExtra("desc",PackageItem.desc) 44 | i.putExtra("service",PackageItem.service) 45 | i.putExtra("location",PackageItem.location) 46 | mContext.startActivity(i) 47 | } 48 | } 49 | 50 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) { 51 | val titleTV: TextView = itemView.findViewById(R.id.titleTV) 52 | val emailTV: TextView = itemView.findViewById(R.id.emailTV) 53 | val locTV: TextView = itemView.findViewById(R.id.locTV) 54 | val itemLayout:LinearLayout=itemView.findViewById(R.id.itemLayout) 55 | 56 | } 57 | 58 | 59 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Adapters/RecyclerMessageAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Adapters 2 | 3 | import android.content.Context 4 | import android.view.LayoutInflater 5 | import android.view.View 6 | import android.view.ViewGroup 7 | import android.widget.ImageView 8 | import android.widget.TextView 9 | import androidx.recyclerview.widget.RecyclerView 10 | import com.google.firebase.auth.FirebaseAuth 11 | import com.google.firebase.auth.FirebaseUser 12 | import com.harvin.evento.Model.ChatModel 13 | import com.harvin.evento.R 14 | 15 | class RecyclerMessageAdapter (var mContext: Context, private val chatList: List) : RecyclerView.Adapter() { 16 | val MSG_TYPE_LEFT = 0 17 | val MSG_TYPE_RIGHT = 1 18 | 19 | override fun onCreateViewHolder( 20 | parent: ViewGroup, 21 | viewType: Int 22 | ): ViewHolder { 23 | if(viewType==MSG_TYPE_RIGHT){ 24 | val view = LayoutInflater.from(mContext).inflate(R.layout.chat_item_right, parent, false) 25 | return ViewHolder(view) 26 | } 27 | else{ 28 | val view = LayoutInflater.from(parent.context).inflate(R.layout.chat_item_left, parent, false) 29 | return ViewHolder(view) 30 | } 31 | } 32 | 33 | override fun getItemCount(): Int { 34 | return chatList.size 35 | } 36 | override fun onBindViewHolder(holder: ViewHolder, position: Int) { 37 | val chatItem = chatList[position] 38 | holder.show_message.text=chatItem.msg.toString() 39 | holder.profile_image.setImageResource(R.mipmap.ic_launcher) 40 | if (position == chatList.size - 1) { 41 | if (chatItem.isseen == true) { 42 | holder.txt_seen.text = "Seen" 43 | } else { 44 | holder.txt_seen.text = "Delivered" 45 | } 46 | } else { 47 | holder.txt_seen.visibility = View.GONE 48 | } 49 | } 50 | 51 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) { 52 | val txt_seen: TextView = itemView.findViewById(R.id.txt_seen) 53 | val show_message: TextView = itemView.findViewById(R.id.show_message) 54 | val profile_image: ImageView = itemView.findViewById(R.id.profile_image) 55 | 56 | } 57 | 58 | override fun getItemViewType(position: Int): Int { 59 | if(chatList[position].sender!!.equals(FirebaseAuth.getInstance().currentUser!!.uid)) { 60 | return MSG_TYPE_RIGHT 61 | } else { 62 | return MSG_TYPE_LEFT 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/CmpFragment/BookCmpFragment.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.CmpFragment 2 | 3 | import android.os.Bundle 4 | import androidx.fragment.app.Fragment 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import androidx.recyclerview.widget.LinearLayoutManager 9 | import com.google.firebase.auth.ktx.auth 10 | import com.google.firebase.database.* 11 | import com.google.firebase.database.ktx.getValue 12 | import com.google.firebase.ktx.Firebase 13 | import com.harvin.evento.Adapters.RecyclerCmpBookAdapter 14 | import com.harvin.evento.Adapters.RecyclerUsrBookAdapter 15 | import com.harvin.evento.Model.BookingModel 16 | import com.harvin.evento.R 17 | import com.harvin.evento.databinding.FragmentCmpBookBinding 18 | import com.harvin.evento.databinding.FragmentUserBookBinding 19 | import java.lang.NullPointerException 20 | 21 | class BookCmpFragment : Fragment() { 22 | private lateinit var binding: FragmentCmpBookBinding 23 | private var databaseBook: DatabaseReference? = null 24 | var userID:String?=null 25 | var bookArrayList: ArrayList? = null 26 | var bookAdapter: RecyclerCmpBookAdapter?=null 27 | override fun onCreateView( 28 | inflater: LayoutInflater, container: ViewGroup?, 29 | savedInstanceState: Bundle? 30 | ): View { 31 | binding=FragmentCmpBookBinding.inflate(inflater,container,false) 32 | 33 | binding.cmpBookRecycler.setHasFixedSize(true) 34 | binding.cmpBookRecycler.layoutManager= LinearLayoutManager(context) 35 | bookArrayList= arrayListOf() 36 | userID= Firebase.auth.currentUser?.uid.toString() 37 | 38 | databaseBook = FirebaseDatabase.getInstance().getReference("book") 39 | val query = databaseBook!!.orderByChild("cmpID").equalTo(userID) 40 | 41 | val pkgValueEventListener = object : ValueEventListener { 42 | override fun onDataChange(dataSnapshot: DataSnapshot) { 43 | try{ 44 | if (dataSnapshot.exists()) { 45 | bookArrayList!!.clear() 46 | for (snapshot in dataSnapshot.children) { 47 | var bookItemModel = snapshot.getValue() 48 | bookArrayList!!.add(bookItemModel!!) 49 | } 50 | bookAdapter = RecyclerCmpBookAdapter(context!!, bookArrayList!!) 51 | binding.cmpBookRecycler.adapter = bookAdapter 52 | } 53 | }catch (e:NullPointerException){} 54 | } 55 | 56 | override fun onCancelled(databaseError: DatabaseError) { 57 | 58 | } 59 | } 60 | query.addValueEventListener(pkgValueEventListener) 61 | 62 | 63 | 64 | return binding.root 65 | } 66 | 67 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Adapters/RecyclerUsrCmpPkgAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Adapters 2 | 3 | import android.content.Context 4 | import android.content.Intent 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.TextView 9 | import android.widget.Toast 10 | import androidx.recyclerview.widget.RecyclerView 11 | import com.google.firebase.auth.FirebaseAuth 12 | import com.google.firebase.database.DatabaseReference 13 | import com.google.firebase.database.FirebaseDatabase 14 | import com.harvin.evento.Model.BookingModel 15 | import com.harvin.evento.Model.PackageItemModel 16 | import com.harvin.evento.R 17 | import com.harvin.evento.Users.UserBookConfirmActivity 18 | import com.harvin.evento.Users.UserCmpDetailsActivity 19 | 20 | class RecyclerUsrCmpPkgAdapter (var mContext: Context,private val mList: List) : RecyclerView.Adapter() { 21 | override fun onCreateViewHolder( 22 | parent: ViewGroup, 23 | viewType: Int 24 | ): RecyclerUsrCmpPkgAdapter.ViewHolder { 25 | val view = LayoutInflater.from(parent.context) 26 | .inflate(R.layout.package_usr_item, parent, false) 27 | return ViewHolder(view) 28 | } 29 | 30 | override fun getItemCount(): Int { 31 | return mList.size 32 | } 33 | 34 | override fun onBindViewHolder(holder: ViewHolder, position: Int) { 35 | val PackageItem = mList[position] 36 | holder.titleTV.text = PackageItem.title+" - "+PackageItem.pcount+" ppl" 37 | holder.priceItemTV.text = "\u20B9"+PackageItem.price 38 | holder.descItemTV.text = PackageItem.desc 39 | if(FirebaseAuth.getInstance().currentUser != null){ 40 | holder.editItemButton.visibility= View.VISIBLE 41 | } 42 | else{ 43 | 44 | holder.editItemButton.visibility= View.GONE 45 | } 46 | holder.editItemButton.setOnClickListener { 47 | val i= Intent(it.context, UserBookConfirmActivity::class.java) 48 | i.putExtra("packID",PackageItem.packID) 49 | i.putExtra("cmpID",PackageItem.cmpID) 50 | i.putExtra("pkgName",PackageItem.title) 51 | i.putExtra("pkgPrice",PackageItem.price) 52 | i.putExtra("pkgPpl",PackageItem.pcount) 53 | i.putExtra("pkgDesc",PackageItem.desc) 54 | it.context.startActivity(i) 55 | } 56 | } 57 | 58 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) { 59 | val titleTV: TextView = itemView.findViewById(R.id.titleTV) 60 | val priceItemTV: TextView = itemView.findViewById(R.id.priceItemTV) 61 | val descItemTV: TextView = itemView.findViewById(R.id.descItemTV) 62 | val editItemButton: TextView = itemView.findViewById(R.id.editItemButton) 63 | } 64 | 65 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/UserFragment/UserBookFragment.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.UserFragment 2 | 3 | import android.os.Bundle 4 | import androidx.fragment.app.Fragment 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import androidx.recyclerview.widget.LinearLayoutManager 9 | import com.google.firebase.auth.ktx.auth 10 | import com.google.firebase.database.* 11 | import com.google.firebase.database.ktx.getValue 12 | import com.google.firebase.ktx.Firebase 13 | import com.harvin.evento.Adapters.RecyclerCmpHomeAdapter 14 | import com.harvin.evento.Adapters.RecyclerUsrBookAdapter 15 | import com.harvin.evento.Model.BookingModel 16 | import com.harvin.evento.Model.PackageItemModel 17 | import com.harvin.evento.R 18 | import com.harvin.evento.databinding.FragmentUserBookBinding 19 | import java.lang.NullPointerException 20 | 21 | class UserBookFragment : Fragment() { 22 | private lateinit var binding:FragmentUserBookBinding 23 | private var databaseBook: DatabaseReference? = null 24 | var userID:String?=null 25 | var bookArrayList: ArrayList? = null 26 | var bookAdapter: RecyclerUsrBookAdapter?=null 27 | override fun onCreateView( 28 | inflater: LayoutInflater, container: ViewGroup?, 29 | savedInstanceState: Bundle? 30 | ): View? { 31 | binding=FragmentUserBookBinding.inflate(inflater,container,false) 32 | 33 | binding.usrBookRecycler.setHasFixedSize(true) 34 | binding.usrBookRecycler.layoutManager= LinearLayoutManager(context) 35 | bookArrayList= arrayListOf() 36 | userID= Firebase.auth.currentUser?.uid.toString() 37 | 38 | databaseBook = FirebaseDatabase.getInstance().getReference("book") 39 | val query = databaseBook!!.orderByChild("userID").equalTo(userID) 40 | 41 | val pkgValueEventListener = object : ValueEventListener { 42 | override fun onDataChange(dataSnapshot: DataSnapshot) { 43 | try { 44 | if (dataSnapshot.exists()) { 45 | bookArrayList!!.clear() 46 | for (snapshot in dataSnapshot.children) { 47 | var bookItemModel = snapshot.getValue() 48 | bookArrayList!!.add(bookItemModel!!) 49 | 50 | } 51 | bookAdapter = RecyclerUsrBookAdapter(context!!, bookArrayList!!) 52 | binding.usrBookRecycler.adapter = bookAdapter 53 | 54 | } 55 | }catch (e: NullPointerException){ 56 | 57 | } 58 | 59 | } 60 | 61 | override fun onCancelled(databaseError: DatabaseError) { 62 | 63 | } 64 | } 65 | query.addValueEventListener(pkgValueEventListener) 66 | 67 | return binding.root 68 | } 69 | 70 | } -------------------------------------------------------------------------------- /app/src/main/java/com/harvin/evento/Company/CmpRegDetailsActivity.kt: -------------------------------------------------------------------------------- 1 | package com.harvin.evento.Company 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import androidx.appcompat.app.AppCompatActivity 6 | import com.harvin.evento.databinding.ActivityCmpRegDetailsBinding 7 | 8 | class CmpRegDetailsActivity : AppCompatActivity() { 9 | 10 | private lateinit var binding: ActivityCmpRegDetailsBinding 11 | 12 | override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | binding=ActivityCmpRegDetailsBinding.inflate(layoutInflater) 15 | setContentView(binding.root) 16 | 17 | binding.cmpDetailsReg.setOnClickListener { 18 | val sb = StringBuilder() 19 | if(binding.flo.isChecked){ 20 | sb.append("f") 21 | } 22 | if (binding.cate.isChecked){ 23 | sb.append("c") 24 | } 25 | if (binding.dec.isChecked){ 26 | sb.append("d") 27 | } 28 | if(binding.all.isChecked){ 29 | binding.flo.isChecked=true 30 | binding.cate.isChecked=true 31 | binding.dec.isChecked=true 32 | sb.append("a") 33 | } 34 | 35 | val services=sb.toString() 36 | 37 | if(checkEditText()){ 38 | val i = Intent(applicationContext, LocationRegSelectActivity::class.java) 39 | i.putExtra("phone", intent.getStringExtra("phone").toString()) 40 | i.putExtra("cname", binding.cmpRegName.text.toString()) 41 | i.putExtra("email", binding.cmpRegMail.text.toString()) 42 | i.putExtra("yoe", binding.cmpRegDoe.text.toString()) 43 | i.putExtra("cin", binding.cmpRegCin.text.toString()) 44 | i.putExtra("desc", binding.cmpRegDes.text.toString()) 45 | i.putExtra("service", services) 46 | startActivity(i) 47 | } 48 | 49 | } 50 | } 51 | 52 | fun checkEditText():Boolean{ 53 | var status=true 54 | if(binding.cmpRegName.text.toString().isEmpty()){ 55 | binding.cmpNameLayout.error= "Check Fields & Try Again" 56 | status=false 57 | } 58 | if(binding.cmpRegMail.text.toString().isEmpty()){ 59 | binding.cmpMailLayout.error= "Check Fields & Try Again" 60 | status=false 61 | } 62 | if(binding.cmpRegDoe.text.toString().isEmpty()){ 63 | binding.cmpDoeLayout.error= "Check Fields & Try Again" 64 | status=false 65 | } 66 | if(binding.cmpRegCin.text.toString().isEmpty()){ 67 | binding.cmpCinLayout.error= "Check Fields & Try Again" 68 | status=false 69 | } 70 | if(binding.cmpRegDes.text.toString().isEmpty()){ 71 | binding.cmpDesLayout.error= "Check Fields & Try Again" 72 | status=false 73 | } 74 | return status 75 | } 76 | 77 | } -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 18 | 19 | 33 | 34 | 63 | 64 | 65 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_delete.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 24 | 25 | 32 | 33 | 43 | 44 | 57 | 58 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /app/src/main/res/layout/usr_home_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 19 | 20 | 21 | 25 | 34 | 35 | 39 | 40 | 51 | 52 | 62 | 63 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_chat_cmp.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 19 | 20 | 29 | 30 | 41 | 42 | 47 | 51 | 57 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /app/src/main/res/layout/package_usr_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 20 | 21 | 32 | 33 | 34 | 35 | 48 | 49 | 60 | 66 | 67 |