Skip to content

MJU community android application (code refactoring and add new function)

Notifications You must be signed in to change notification settings

corhythm/MTMI-v2

Repository files navigation

MTMI(MJU TMI)

Made in MJU Team project class

Main features introduction

  • It provides your MBTI charateristics and recomemend a place where suits you.
  • It provides MJU sites that many MJU students use.
  • It provides MJU building locations.
  • It provides fatest MJU shuttle time and shuttle bus stopover.
  • It provides a bulletin board for the subjects you enrolled in this semester. So, students only can access to bulletin boards for subjects enrolled this semester. In each bulletin board you can post your own post and in each post other users can comment their opinion.
  • It provides chatting service with other users.
  • It provides the basic mail form when you send an email to the professor.
  • Crawling from your LMS account, it provides information on the subjects you have enrolled in this semester (timetables, class hours, professors, attendance rates, assignment submissions).

Android convention rule(resource naming)

  • Image files: imageType_(iconOrImage)_activityNameORfragmentName_fileName
    • e.g. The icon file used in activity_get_started.xml: _ic_get_started_fileName.xml
    • e.g. The image file used in activity_copyright.xml: _img_copyright_fileName.png

Project file strucuture

  • Pacakage
    • account

      - Class name Content
      1 EditProfileActivity Edit user profile
      2 LoginActivity Login
      3 MyProfileActivity Show my profile
      4 SignUpActivity Sign up
    • chatting

      - Class name Content
      1 ChattingRoomDetailsActivity Show the chat window and send or receive a message with the other person
      2 ChattingRoomListActivity Show the chat room list
    • crawling

      - Class name Content
      1 CrawlingLmsInfo Crawling lms data(user profile, homework, professor info, subject info ... etc) from lms
      2 LmsAututhenticationDialog A dialog window that sign in lms site
    • database

      - Class name Content
      1 FirebaseManger Provides CRUD methods to communicate with the Firebase
      • entity
        - Class name Content
        1 BoardComment(data class) The item class of a Post comments
        2 BoardPost(data class) The item class of Post
        3 ChattingMessage(data class) The item class of Chatting message
        4 ChattingRoom(data class) The item class of chatting room
        5 ChattingRoomListForm(data class) The item of each chatting room list when you see chatting room list
        6 LastChattingMessage(data class) Last Chatting message
        7 UserData(data class) The item of User info
    • mbti

      - Class name Content
      1 MbtiResultActivity Show your MBTI type, your charatericts and recommend A place that fits you well (e.g. cafe, restaurant ... etc)
      2 MbtiTestQuestionActivity Provides 20 MBTI test question. If you answer all 20 MBTI questions, Algorithm guess your MBTI propensity.
      3 MbtiTestStartFragment Introduce MBTI Test page and if you have already done the MBTI test, it will guide you to the MBTI result page.
    • myclass

      - Class name Content
      1 MyClassMailToProfessorActivity Provides the basic mail form when you send an email to the professor. (e.g. attandance, test ... etc)
      2 MyClassMainFramgment MyClass main page
      3 MyClassSubjectBulletinBoardDetailsActivity Show a post and comments specifically
      4 MyClassSubjectBulletinBoardListActivity Show the post list of a specific bulletin board
      5 MyClassSubjectBulletinBoardWritingActivity The page that can write the post
      6 MyClassSubjectListActivity Show the bulletin board list that can move to each bulletin board
      7 MyClassTimeTableActivity Show the information on the subjects, assignments, professors, and timetables that you have registered semester.
    • util

      - Class name Content
      1 AES128 Provides methods to encrypt or decrypt a string.
      2 APP Provides extern context that can use in any activity or fragment
      3 SharedPrefManger Manage SharePreferences
      4 ValidationRegex Provides regex
    • others

      - Class name Content
      1 CampusPhoneNumberActivity Show school-related organization phone number
      2 CopyrightActivity Show people who make this service
      3 GetStartedActivity Splash page when starts this apllication
      4 HomeActivity Main page (container)
      5 HomeFragment Main page on HomeActivity
      6 MapDetailsActivity Provides school building location and useful Facilities(cafe, restraunt ... etc) (using Kakao map API)

Development environment

  • Kotlin
  • Firebase Realtime Database
  • Firebase FireStore Database
  • Android Studio @4.2.1

Application version

  • minSdkVersion: 26
  • targetSdkVersion: 30
  • GradleVersion: @6.7.1
  • JavaVersion: 11
  • KotlinVersion: @1.5.10

APIs

Required permissions

  • android.permission.INTERNET
  • android.permission.CALL_PHONE
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.READ_EXTERNAL_STORAGE

Open source

Application layout

Login & ② SignUp & ③ UserProfile & ④ EditUserProflie & ⑤ Copyright

 
               

① Main Home & ② Choosing MJU Building & ③ Specific Building Location

          

① MBTI Main & ② MBTI Test & ③ MBTI Result & ④ Facility Loacation Recommended

         

① MyClass Main & ② Lms Login ③ Bulletin Board List & ④ Post List & ⑤ Show Specific Post and Comments & ⑥ Mail Guidlines to Professor & ⑦ Timetable and Subject Information(assignment, attandance rate, professor)

                  

① Chatting Room List & ② Specific Chatting Room

   

About

MJU community android application (code refactoring and add new function)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages