Skip to content

๐ŸŽ“ ๆ™บ่ƒฝๆ กๅ›ญ็‰ฉๅ“ๅ…ฑไบซๅนณๅฐ | Smart Campus Item Sharing Platform powered by Google Gemini AI

License

Notifications You must be signed in to change notification settings

psmarter/CampusShare-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Campus Item Sharing - ๆ™บ่ƒฝๆ กๅ›ญ็‰ฉๅ“ๅ…ฑไบซๅนณๅฐ

English | ไธญๆ–‡

Android Kotlin Gemini License

ไธ€ไธช้›†ๆˆ Google Gemini AI ็š„ๆ™บ่ƒฝๆ กๅ›ญ็‰ฉๅ“ๅ…ฑไบซๅนณๅฐ
An intelligent campus item-sharing platform powered by Google Gemini AI

ๅŠŸ่ƒฝ็‰นๆ€ง โ€ข ๆŠ€ๆœฏๆ ˆ โ€ข ๅฟซ้€Ÿๅผ€ๅง‹ โ€ข ่ดก็Œฎ


๐Ÿ”— ็›ธๅ…ณไป“ๅบ“ / Related Repositories

ๆœฌ้กน็›ฎๆ˜ฏ Campus Item Sharing Platform ็š„ Android ๅ‰็ซฏๅบ”็”จ
This is the Android frontend for Campus Item Sharing Platform

๐Ÿ“ฆ ๅฎŒๆ•ด้กน็›ฎ็ป„ๆˆ / Complete Project Components

็ป„ไปถ Component ไป“ๅบ“ Repository ๆŠ€ๆœฏๆ ˆ Tech Stack ่ฏดๆ˜Ž Description
๐ŸŽจ ๅ‰็ซฏ Frontend CampusShare-AI (ๅฝ“ๅ‰ไป“ๅบ“ Current) Android (Kotlin) + Gemini AI Mobile Application
โš™๏ธ ๅŽ็ซฏ Backend Campus_Spring_boot Spring Boot + MySQL RESTful API Server

๐Ÿš€ ๅฎŒๆ•ด้ƒจ็ฝฒๆŒ‡ๅ— / Full Deployment Guide

๐Ÿ“ฑ ไป…ๅ‰็ซฏๅผ€ๅ‘ / Frontend Only

ๆŒ‰็…งไธ‹ๆ–น็š„ ๅฟซ้€Ÿๅผ€ๅง‹ ๆŒ‡ๅ—ๅณๅฏใ€‚

๐Ÿ”ง ๅ‰ๅŽ็ซฏ่”่ฐƒ / Full-Stack Development

  1. โœ… ้ƒจ็ฝฒๅŽ็ซฏๆœๅŠก๏ผšๆŒ‰็…ง ๅŽ็ซฏไป“ๅบ“่ฏดๆ˜Ž ๅฏๅŠจ Spring Boot API
  2. โœ… ้…็ฝฎๅ‰็ซฏ API ๅœฐๅ€๏ผˆ่งไธ‹ๆ–น ๅŽ็ซฏ API ้…็ฝฎ๏ผ‰
  3. โœ… ่ฟ่กŒ Android ๅบ”็”จ

๐Ÿ’ก ๅผ€ๅ‘่€…ๆ็คบ / Developer Tip:
ๆŸฅ็œ‹่ฏฆ็ป†็š„ๅŽ็ซฏๅฏนๆŽฅๆ–‡ๆกฃ๏ผšBACKEND_API.md


ไธญๆ–‡

๐Ÿ“ฑ ้กน็›ฎ็ฎ€ไป‹

Campus Item Sharing ๆ˜ฏไธ€ไธชไธ“ไธบๅคงๅญฆ็”Ÿ่ฎพ่ฎก็š„ๆ™บ่ƒฝ็‰ฉๅ“ๅ…ฑไบซๅนณๅฐใ€‚้€š่ฟ‡้›†ๆˆ Google Gemini 1.5 Flash AI๏ผŒไธบ็”จๆˆทๆไพ›ๆ™บ่ƒฝๆŽจ่ใ€็‰ฉๅ“ๅˆ†็ฑปๅ’Œไบคๆ˜“ๅปบ่ฎฎ๏ผŒ่ฎฉๆ กๅ›ญ้—ฒ็ฝฎ็‰ฉๅ“ไบคๆ˜“ๆ›ด้ซ˜ๆ•ˆใ€ๆ›ดๆ™บ่ƒฝใ€‚

โœจ ๆ ธๅฟƒไบฎ็‚น

  • ๐Ÿค– AI ๆ™บ่ƒฝๅŠฉๆ‰‹: ้›†ๆˆ Gemini 1.5 Flash๏ผŒๆไพ›ๆ™บ่ƒฝ็‰ฉๅ“ๆŽจ่ๅ’Œๆ่ฟฐ็”Ÿๆˆ
  • ๐Ÿ’ฌ ๅฎžๆ—ถ่Šๅคฉ: ไนฐๅ–ๅŒๆ–นๅฎžๆ—ถๆฒŸ้€š๏ผŒๅฟซ้€Ÿ่พพๆˆไบคๆ˜“
  • ๐Ÿ“ธ ๅ›พ็‰‡ๅฑ•็คบ: ๆ”ฏๆŒๅคšๅ›พไธŠไผ ๏ผŒๆธ…ๆ™ฐๅฑ•็คบ็‰ฉๅ“็ป†่Š‚
  • ๐Ÿท๏ธ ๆ™บ่ƒฝๅˆ†็ฑป: AI ่‡ชๅŠจ่ฏ†ๅˆซ็‰ฉๅ“็ฑปๅž‹ๅ’Œๆ ‡็ญพ
  • ๐Ÿ“Š ไบคๆ˜“ๅކๅฒ: ๅฎŒๆ•ด่ฎฐๅฝ•ๅ‘ๅธƒๅ’Œไบคๆ˜“่ฎฐๅฝ•
  • ๐Ÿ‘ฅ ๅฅฝๅ‹็ณป็ปŸ: ๆทปๅŠ ๅฅฝๅ‹๏ผŒ็ง่Šไบคๆตๆ›ดๆ–นไพฟ

๐ŸŒŸ ๅŠŸ่ƒฝ็‰นๆ€ง / Features

1. ๆ™บ่ƒฝ็‰ฉๅ“ๅ‘ๅธƒ

  • ๆ”ฏๆŒๅ›พ็‰‡ไธŠไผ ๅ’Œ้ข„่งˆ
  • AI ่‡ชๅŠจ็”Ÿๆˆ็‰ฉๅ“ๆ่ฟฐๅ’Œๆ ‡็ญพ
  • ไปทๆ ผๅปบ่ฎฎๅ’Œๅธ‚ๅœบๅˆ†ๆž
  • ๅคš็ฑปๅž‹็‰ฉๅ“ๆ”ฏๆŒ๏ผˆไนฆ็ฑใ€็”ตๅญไบงๅ“ใ€ๆ–‡ๅ…ท็ญ‰๏ผ‰

2. Gemini AI ้›†ๆˆ

  • ๆ™บ่ƒฝๆŽจ่: ๆ นๆฎ็”จๆˆท้œ€ๆฑ‚ๆŽจ่ๅˆ้€‚็š„็‰ฉๅ“
  • ่‡ชๅŠจๆ ‡็ญพ: AI ่‡ชๅŠจ่ฏ†ๅˆซ็‰ฉๅ“็ฑปๅž‹ๅนถๆทปๅŠ ๆ ‡็ญพ
  • ๆ่ฟฐ็”Ÿๆˆ: ๆ™บ่ƒฝ็”Ÿๆˆๅธๅผ•ไบบ็š„็‰ฉๅ“ๆ่ฟฐ
  • ไปทๆ ผๅปบ่ฎฎ: ๅŸบไบŽ็‰ฉๅ“็ฑปๅž‹ๆไพ›ๅˆ็†ไปทๆ ผ่Œƒๅ›ด

3. ็คพไบคๅŠŸ่ƒฝ

  • ็”จๆˆทๆณจๅ†Œๅ’Œ็™ปๅฝ•
  • ๅฅฝๅ‹ๆทปๅŠ ๅ’Œ็ฎก็†
  • ๅฎžๆ—ถๆถˆๆฏ้€š็Ÿฅ
  • ็ง่Šๅ’Œ็พค่Šๆ”ฏๆŒ

4. ไบคๆ˜“็ฎก็†

  • ๅ‘ๅธƒๅކๅฒ่ฎฐๅฝ•
  • ็‰ฉๅ“ๆต่งˆๅ’Œๆœ็ดข
  • ๆ”ถ่—ๅ’Œๅ…ณๆณจ
  • ไบคๆ˜“็Šถๆ€่ทŸ่ธช

๐Ÿ› ๏ธ ๆŠ€ๆœฏๆ ˆ / Tech Stack

ๆ ธๅฟƒๆŠ€ๆœฏ

  • ่ฏญ่จ€: Kotlin
  • ๆœ€ไฝŽ SDK: Android 29 (Android 10)
  • ็›ฎๆ ‡ SDK: Android 35
  • ๆž„ๅปบๅทฅๅ…ท: Gradle 8.x + Kotlin DSL

ไธป่ฆไพ่ต–

ๆŠ€ๆœฏ ็”จ้€” ็‰ˆๆœฌ
Google Gemini AI AI ๆ™บ่ƒฝๆŽจ่ๅ’Œๅ†…ๅฎน็”Ÿๆˆ 1.5 Flash
Retrofit ็ฝ‘็ปœ่ฏทๆฑ‚ๆก†ๆžถ Latest
Gson JSON ่งฃๆž Latest
Jetpack Compose ็ŽฐไปฃๅŒ– UI ๆก†ๆžถ Latest
Material 3 Material Design UI ็ป„ไปถ Latest
Glide ๅ›พ็‰‡ๅŠ ่ฝฝๅ’Œ็ผ“ๅญ˜ Latest
CameraX ็›ธๆœบๅŠŸ่ƒฝ Latest
ML Kit ไบŒ็ปด็ ๆ‰ซๆ Latest

๐ŸŒ ๅŽ็ซฏ API ้…็ฝฎ / Backend API Configuration

ๆœฌๅบ”็”จ้œ€่ฆ่ฟžๆŽฅๅŽ็ซฏ API ๆœๅŠกๅ™จๆ‰่ƒฝๅฎŒๆ•ด่ฟ่กŒใ€‚ๅŽ็ซฏๆไพ›็”จๆˆท่ฎค่ฏใ€็‰ฉๅ“็ฎก็†ใ€่Šๅคฉ็ญ‰ๆ ธๅฟƒๅŠŸ่ƒฝใ€‚
This app requires connection to the backend API server for full functionality. The backend provides user authentication, item management, chat, and other core features.

ๅŽ็ซฏไป“ๅบ“ / Backend Repository

Spring Boot API: Campus_Spring_boot

API ๅœฐๅ€้…็ฝฎ / API URL Configuration

ๅผ€ๅ‘็Žฏๅขƒ / Development:

  • Android ๆจกๆ‹Ÿๅ™จ / Emulator: http://10.0.2.2:8080
  • ็œŸๆœบ่ฐƒ่ฏ• / Physical Device: http://YOUR_LOCAL_IP:8080 (ๆ›ฟๆขไธบไฝ ็”ต่„‘็š„IP)

็”Ÿไบง็Žฏๅขƒ / Production:

  • ้ƒจ็ฝฒๅŽ็ซฏๅˆฐไบ‘ๆœๅŠกๅ™จๅŽ็š„ HTTPS ๅœฐๅ€

๐Ÿ“– ่ฏฆ็ป†้…็ฝฎๆŒ‡ๅ—: ๆŸฅ็œ‹ docs/BACKEND_API.md ่Žทๅ–ๅฎŒๆ•ด็š„ๅŽ็ซฏๅฏนๆŽฅๆ–‡ๆกฃ

๐Ÿ“ฅ ๅฟซ้€Ÿๅผ€ๅง‹ / Quick Start

ๅ‰็ฝฎ่ฆๆฑ‚

  • Android Studio Hedgehog (2023.1.1) ๆˆ–ๆ›ด้ซ˜็‰ˆๆœฌ
  • JDK 11 ๆˆ–ๆ›ด้ซ˜็‰ˆๆœฌ
  • Android SDK 29-35
  • Google Gemini API ๅฏ†้’ฅ๏ผˆ่Žทๅ–ๅฏ†้’ฅ๏ผ‰

ๅฎ‰่ฃ…ๆญฅ้ชค

  1. ๅ…‹้š†ไป“ๅบ“

    git clone https://github.com/psmarter/CampusShare-AI.git
    cd Campus
  2. ้…็ฝฎ API ๅฏ†้’ฅ ๐Ÿ”‘

    ่ฟ™ๆ˜ฏๆœ€้‡่ฆ็š„ๆญฅ้ชค๏ผ

    # ๅคๅˆถ็คบไพ‹้…็ฝฎๆ–‡ไปถ
    cp local.properties.example local.properties

    ๆ‰“ๅผ€ local.properties ๆ–‡ไปถ๏ผŒๅกซๅ…ฅๆ‚จ็š„ Gemini API ๅฏ†้’ฅ๏ผš

    GEMINI_API_KEY=your_actual_api_key_here

    โš ๏ธ ๅฎ‰ๅ…จๆ็คบ: local.properties ๆ–‡ไปถๅทฒๅœจ .gitignore ไธญ๏ผŒไธไผš่ขซๆไบคๅˆฐ Git๏ผŒ็กฎไฟ API ๅฏ†้’ฅๅฎ‰ๅ…จใ€‚

  3. ๆ‰“ๅผ€้กน็›ฎ

    • ไฝฟ็”จ Android Studio ๆ‰“ๅผ€้กน็›ฎๆ–‡ไปถๅคน
    • ็ญ‰ๅพ… Gradle ๅŒๆญฅๅฎŒๆˆ
  4. ่ฟ่กŒๅบ”็”จ

    • ่ฟžๆŽฅ Android ่ฎพๅค‡ๆˆ–ๅฏๅŠจๆจกๆ‹Ÿๅ™จ
    • ็‚นๅ‡ป Run ๆŒ‰้’ฎ๏ผˆๆˆ–ๆŒ‰ Shift+F10๏ผ‰

่Žทๅ– Gemini API ๅฏ†้’ฅ

  1. ่ฎฟ้—ฎ Google AI Studio
  2. ็™ปๅฝ•ๆ‚จ็š„ Google ่ดฆๆˆท
  3. ็‚นๅ‡ป "Create API Key"
  4. ๅคๅˆถ็”Ÿๆˆ็š„ API ๅฏ†้’ฅ
  5. ็ฒ˜่ดดๅˆฐ local.properties ๆ–‡ไปถไธญ

๐Ÿ“‚ ้กน็›ฎ็ป“ๆž„

app/src/main/java/com/example/campus_item_sharing/
โ”œโ”€โ”€ ๐Ÿ“ฑ Activities & Fragments
โ”‚   โ”œโ”€โ”€ MainActivity.kt              # ไธป็•Œ้ข
โ”‚   โ”œโ”€โ”€ LoginActivity.kt             # ็™ปๅฝ•็•Œ้ข
โ”‚   โ”œโ”€โ”€ GeminiActivity.kt            # AI ๅŠฉๆ‰‹็•Œ้ข
โ”‚   โ”œโ”€โ”€ ChatActivity.kt              # ่Šๅคฉ็•Œ้ข
โ”‚   โ”œโ”€โ”€ PostHistory.kt               # ๅ‘ๅธƒๅކๅฒ
โ”‚   โ”œโ”€โ”€ HomeFragment.kt              # ้ฆ–้กต Fragment
โ”‚   โ”œโ”€โ”€ PostFragment.kt              # ๅ‘ๅธƒ Fragment
โ”‚   โ”œโ”€โ”€ MessagesFragment.kt          # ๆถˆๆฏ Fragment
โ”‚   โ””โ”€โ”€ SettingsFragment.kt          # ่ฎพ็ฝฎ Fragment
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ฆ Models
โ”‚   โ”œโ”€โ”€ account/                     # ่ดฆๆˆทๆ•ฐๆฎๆจกๅž‹
โ”‚   โ”œโ”€โ”€ chatmodel/                   # ่Šๅคฉๆ•ฐๆฎๆจกๅž‹
โ”‚   โ”œโ”€โ”€ friendmodel/                 # ๅฅฝๅ‹ๆ•ฐๆฎๆจกๅž‹
โ”‚   โ””โ”€โ”€ itemmodel/                   # ็‰ฉๅ“ๆ•ฐๆฎๆจกๅž‹
โ”‚
โ”œโ”€โ”€ ๐ŸŒ Network
โ”‚   โ””โ”€โ”€ retrofit/                    # Retrofit API ๆŽฅๅฃ
โ”‚
โ”œโ”€โ”€ ๐Ÿ› ๏ธ Utilities
โ”‚   โ”œโ”€โ”€ tools/                       # ๅทฅๅ…ท็ฑป
โ”‚   โ””โ”€โ”€ ui/                          # UI ็ป„ไปถ
โ”‚
โ””โ”€โ”€ ๐Ÿ“„ Resources
    โ”œโ”€โ”€ res/layout/                  # XML ๅธƒๅฑ€ๆ–‡ไปถ
    โ”œโ”€โ”€ res/drawable/                # ๅ›พ็‰‡่ต„ๆบ
    โ””โ”€โ”€ res/values/                  # ๅญ—็ฌฆไธฒใ€้ขœ่‰ฒ็ญ‰

๐ŸŽฏ ไฝฟ็”จ็คบไพ‹

1. ไฝฟ็”จ AI ๅŠฉๆ‰‹ๅ‘ๅธƒ็‰ฉๅ“

// ๅœจ GeminiActivity ไธญไฝฟ็”จ Gemini AI
val prompt = "ๆˆ‘ๆƒณๅ–ไธ€ๆœฌใ€Š็ฎ—ๆณ•ๅฏผ่ฎบใ€‹๏ผŒๅ…ซๆˆๆ–ฐ๏ผŒๅธฎๆˆ‘็”Ÿๆˆๆ่ฟฐๅ’Œๅฎšไปทๅปบ่ฎฎ"
generateText(prompt)

AI ไผš่ฟ”ๅ›ž๏ผš

  • ็‰ฉๅ“็ฑปๅž‹ๆ ‡็ญพ๏ผšไนฆ็ฑ
  • ๅปบ่ฎฎๆ่ฟฐ๏ผš็ปๅ…ธ็ฎ—ๆณ•ๆ•™ๆ๏ผŒ้€‚ๅˆ่ฎก็ฎ—ๆœบไธ“ไธšๅญฆ็”Ÿ...
  • ๅปบ่ฎฎไปทๆ ผ๏ผšยฅ30-50

2. ๆต่งˆๅ’Œๆœ็ดข็‰ฉๅ“

ๅœจ HomeFragment ไธญๆต่งˆ็‰ฉๅ“ๅˆ—่กจ๏ผŒๆ”ฏๆŒ๏ผš

  • ๆŒ‰็ฑปๅž‹็ญ›้€‰
  • ๆŒ‰ไปทๆ ผๆŽ’ๅบ
  • ๅ…ณ้”ฎ่ฏๆœ็ดข
  • AI ๆ™บ่ƒฝๆŽจ่

๐Ÿ” ๅฎ‰ๅ…จ่ฏดๆ˜Ž

ๆœฌ้กน็›ฎ้‡‡็”จๅฎ‰ๅ…จ็š„ API ๅฏ†้’ฅ็ฎก็†๏ผš

  • โœ… API ๅฏ†้’ฅๅญ˜ๅ‚จๅœจ local.properties๏ผˆๆœฌๅœฐๆ–‡ไปถ๏ผ‰
  • โœ… local.properties ๅทฒๆทปๅŠ ๅˆฐ .gitignore
  • โœ… ไฝฟ็”จ BuildConfig ๅฎ‰ๅ…จ่ฏปๅ–ๅฏ†้’ฅ
  • โŒ ็ปไธๅœจไปฃ็ ไธญ็กฌ็ผ–็ ๅฏ†้’ฅ
  • โŒ ็ปไธๅฐ†ๅฏ†้’ฅๆไบคๅˆฐ GitHub

๐Ÿš€ ๆœชๆฅ่ฎกๅˆ’

  • ๆทปๅŠ ็‰ฉๅ“็Šถๆ€็ฎก็†๏ผˆๅœจๅ”ฎใ€ๅทฒๅ”ฎใ€ๅทฒ้ข„่ฎข๏ผ‰
  • ้›†ๆˆๆ”ฏไป˜ๅŠŸ่ƒฝ
  • ๆทปๅŠ ่ฏ„ๅˆ†ๅ’Œ่ฏ„่ฎบ็ณป็ปŸ
  • ๆ”ฏๆŒ็‰ฉๅ“ๅฎšไฝๅ’Œๅœฐๅ›พๅฑ•็คบ
  • ๆทปๅŠ ๆŽจ้€้€š็Ÿฅ
  • ไผ˜ๅŒ– AI ๆŽจ่็ฎ—ๆณ•
  • ๆ”ฏๆŒๅคš่ฏญ่จ€๏ผˆEnglish, ็ฎ€ไฝ“ไธญๆ–‡๏ผ‰

๐Ÿค ่ดก็Œฎ / Contributing

ๆˆ‘ไปฌๆฌข่ฟŽๆ‰€ๆœ‰ๅฝขๅผ็š„่ดก็Œฎ๏ผ่ฏทๆŸฅ็œ‹ ่ดก็ŒฎๆŒ‡ๅ— ไบ†่งฃ่ฏฆๆƒ…ใ€‚

ๅฟซ้€Ÿ่ดก็Œฎๆญฅ้ชค

  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบๅŠŸ่ƒฝๅˆ†ๆ”ฏ (git checkout -b feature/AmazingFeature)
  3. ๆไบคๆ›ดๆ”น (git commit -m 'feat: ๆทปๅŠ ๆŸไธชๅŠŸ่ƒฝ')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feature/AmazingFeature)
  5. ๅผ€ๅฏ Pull Request

๐Ÿ“„ ่ฎธๅฏ่ฏ / License

ๆœฌ้กน็›ฎ้‡‡็”จ MIT ่ฎธๅฏ่ฏ - ๆŸฅ็œ‹ LICENSE ๆ–‡ไปถไบ†่งฃ่ฏฆๆƒ…ใ€‚

๐Ÿ“ž ่”็ณปๆ–นๅผ

๐Ÿ™ ่‡ด่ฐข

  • Google Gemini AI - ๆไพ›ๅผบๅคง็š„ AI ่ƒฝๅŠ›
  • Material Design - UI ่ฎพ่ฎก่ง„่Œƒ
  • ๆ‰€ๆœ‰่ดก็Œฎ่€…ๅ’Œๆ”ฏๆŒ่€…

English

๐Ÿ“ฑ Project Overview

Campus Item Sharing is an intelligent item-sharing platform designed for college students. By integrating Google Gemini 1.5 Flash AI, it provides smart recommendations, item categorization, and trading suggestions, making campus item trading more efficient and intelligent.

โœจ Highlights

  • ๐Ÿค– AI Assistant: Integrated with Gemini 1.5 Flash for smart item recommendations and description generation
  • ๐Ÿ’ฌ Real-time Chat: Instant communication between buyers and sellers
  • ๐Ÿ“ธ Image Display: Support multiple image uploads with clear item details
  • ๐Ÿท๏ธ Smart Classification: AI auto-identifies item types and tags
  • ๐Ÿ“Š Trading History: Complete record of posts and transactions
  • ๐Ÿ‘ฅ Friend System: Add friends for convenient private conversations

๐ŸŒŸ Features

1. Smart Item Posting

  • Image upload and preview support
  • AI-generated item descriptions and tags
  • Price suggestions and market analysis
  • Multi-type item support (books, electronics, stationery, etc.)

2. Gemini AI Integration

  • Smart Recommendations: Recommend suitable items based on user needs
  • Auto Tagging: AI automatically identifies item types and adds tags
  • Description Generation: Intelligently generates attractive item descriptions
  • Price Suggestions: Provides reasonable price ranges based on item types

3. Social Features

  • User registration and login
  • Friend adding and management
  • Real-time message notifications
  • Private and group chat support

4. Transaction Management

  • Post history records
  • Item browsing and search
  • Favorites and follows
  • Transaction status tracking

๐Ÿ› ๏ธ Tech Stack

Core Technologies

  • Language: Kotlin
  • Min SDK: Android 29 (Android 10)
  • Target SDK: Android 35
  • Build Tools: Gradle 8.x + Kotlin DSL

Main Dependencies

Technology Purpose Version
Google Gemini AI AI recommendations and content generation 1.5 Flash
Retrofit Network request framework Latest
Gson JSON parsing Latest
Jetpack Compose Modern UI framework Latest
Material 3 Material Design UI components Latest
Glide Image loading and caching Latest
CameraX Camera functionality Latest
ML Kit QR code scanning Latest

๐Ÿ“ฅ Quick Start

Prerequisites

  • Android Studio Hedgehog (2023.1.1) or higher
  • JDK 11 or higher
  • Android SDK 29-35
  • Google Gemini API Key (Get Key)

Installation Steps

  1. Clone the Repository

    git clone https://github.com/psmarter/CampusShare-AI.git
    cd Campus
  2. Configure API Key ๐Ÿ”‘

    This is the most important step!

    # Copy the example configuration file
    cp local.properties.example local.properties

    Open the local.properties file and fill in your Gemini API key:

    GEMINI_API_KEY=your_actual_api_key_here

    โš ๏ธ Security Note: The local.properties file is in .gitignore and won't be committed to Git, ensuring API key security.

  3. Open Project

    • Open the project folder with Android Studio
    • Wait for Gradle sync to complete
  4. Run the App

    • Connect an Android device or start an emulator
    • Click the Run button (or press Shift+F10)

Getting a Gemini API Key

  1. Visit Google AI Studio
  2. Log in to your Google account
  3. Click "Create API Key"
  4. Copy the generated API key
  5. Paste it into the local.properties file

๐Ÿ“‚ Project Structure

app/src/main/java/com/example/campus_item_sharing/
โ”œโ”€โ”€ ๐Ÿ“ฑ Activities & Fragments
โ”‚   โ”œโ”€โ”€ MainActivity.kt              # Main activity
โ”‚   โ”œโ”€โ”€ LoginActivity.kt             # Login activity
โ”‚   โ”œโ”€โ”€ GeminiActivity.kt            # AI assistant activity
โ”‚   โ”œโ”€โ”€ ChatActivity.kt              # Chat activity
โ”‚   โ”œโ”€โ”€ PostHistory.kt               # Post history
โ”‚   โ”œโ”€โ”€ HomeFragment.kt              # Home fragment
โ”‚   โ”œโ”€โ”€ PostFragment.kt              # Post fragment
โ”‚   โ”œโ”€โ”€ MessagesFragment.kt          # Messages fragment
โ”‚   โ””โ”€โ”€ SettingsFragment.kt          # Settings fragment
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ฆ Models
โ”‚   โ”œโ”€โ”€ account/                     # Account data models
โ”‚   โ”œโ”€โ”€ chatmodel/                   # Chat data models
โ”‚   โ”œโ”€โ”€ friendmodel/                 # Friend data models
โ”‚   โ””โ”€โ”€ itemmodel/                   # Item data models
โ”‚
โ”œโ”€โ”€ ๐ŸŒ Network
โ”‚   โ””โ”€โ”€ retrofit/                    # Retrofit API interfaces
โ”‚
โ”œโ”€โ”€ ๐Ÿ› ๏ธ Utilities
โ”‚   โ”œโ”€โ”€ tools/                       # Utility classes
โ”‚   โ””โ”€โ”€ ui/                          # UI components
โ”‚
โ””โ”€โ”€ ๐Ÿ“„ Resources
    โ”œโ”€โ”€ res/layout/                  # XML layout files
    โ”œโ”€โ”€ res/drawable/                # Image resources
    โ””โ”€โ”€ res/values/                  # Strings, colors, etc.

๐ŸŽฏ Usage Examples

1. Using AI Assistant to Post Items

// Using Gemini AI in GeminiActivity
val prompt = "I want to sell 'Introduction to Algorithms', 80% new, help me generate description and pricing suggestion"
generateText(prompt)

AI will return:

  • Item type tag: Books
  • Suggested description: Classic algorithm textbook, suitable for CS students...
  • Suggested price: $30-50

2. Browse and Search Items

Browse item lists in HomeFragment, supporting:

  • Filter by type
  • Sort by price
  • Keyword search
  • AI smart recommendations

๐Ÿ” Security Notes

This project uses secure API key management:

  • โœ… API keys stored in local.properties (local file)
  • โœ… local.properties added to .gitignore
  • โœ… Uses BuildConfig to securely read keys
  • โŒ Never hardcode keys in code
  • โŒ Never commit keys to GitHub

๐Ÿš€ Future Plans

  • Add item status management (on sale, sold, reserved)
  • Integrate payment functionality
  • Add rating and review system
  • Support item location and map display
  • Add push notifications
  • Optimize AI recommendation algorithm
  • Multi-language support (English, ็ฎ€ไฝ“ไธญๆ–‡)

๐Ÿค Contributing

We welcome all forms of contribution! Please check the Contributing Guidelines for details.

Quick Contribution Steps

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'feat: Add some feature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ž Contact

๐Ÿ™ Acknowledgments


ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ไธ€ไธช โญ Star๏ผ
If this project helps you, please give it a โญ Star!

Made with โค๏ธ by psmarter

About

๐ŸŽ“ ๆ™บ่ƒฝๆ กๅ›ญ็‰ฉๅ“ๅ…ฑไบซๅนณๅฐ | Smart Campus Item Sharing Platform powered by Google Gemini AI

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages