A portfolio-friendly Android project for sustainable item exchange. The app helps users browse, publish, filter, and manage reusable items such as plants, tools, wood, glass, paper, and other recyclable materials.
This repository is a sanitized public version of a team project. Private Firebase configuration, local IDE settings, generated build files, and test credentials are not included.
Backend and feature implementation with a focus on Firebase data flow, listing management, and core marketplace interactions.
- Java
- Android Studio
- Firebase Auth
- Firebase Firestore
- Android Navigation Component
- Material Components
- RecyclerView
- Login and signup flow with Firebase Auth.
- Bottom navigation with fragment-based page routing.
- Item listing creation with title, condition, pickup location, price, category, photo selection, and sustainability tags.
- Firebase Firestore integration for listing storage and real-time data sync.
- Explore page with search, category filtering, distance filtering, free-item filtering, and sustainability tag filtering.
- Listing detail page with item information, favorite toggle, and placeholder chat/purchase actions.
- Profile page showing active listings, user listings, achievements, settings entry, and eco metric.
- Sustainability-oriented categories such as Woods, Plastics, Paper, Glass, Local, Organic, Refurbished, Recyclable, Biodegradable, and Reusable.
.
|-- app/
| |-- src/main/
| | |-- java/com/example/greenmarketplace/
| | `-- res/
|-- gradle/
|-- build.gradle.kts
|-- settings.gradle.kts
`-- README.md
MainActivity.java: Main layout, bottom navigation, and navigation controller setup.AddPostingDetailsPage.java: Listing creation form and Firestore write logic.ExploreDiscoverPage.java: Explore list, search, tabs, categories, filters, and Firestore listener.ForYouPage.java: Personalized listing feed, sustainability guides, and eco metric.ProfilePage.java: User listings, active listings, achievements, and settings navigation.Posting.java: Core listing data model.
This public portfolio repository does not include google-services.json.
To run the project locally, create your own Firebase Android project, enable Firebase Auth and Firestore, then place your generated google-services.json file in:
app/google-services.json
The file is intentionally ignored by Git to prevent leaking private Firebase configuration.
- This repository is intended for resume and portfolio review.
- Some flows are prototype-level and designed to demonstrate Android/Firebase implementation ability.
- The original private team repository is not exposed with its full history or local configuration.
GreenMarketplace 是一个面向环保物资交换场景的 Android 项目,用户可以浏览、发布、筛选和管理可重复利用的物品,例如植物、工具、木材、玻璃、纸张和其他可回收材料。
本仓库是团队项目的公开作品集版本,已清理私有 Firebase 配置、本地 IDE 设置、构建产物和测试凭据,主要用于简历与 GitHub 作品展示。
负责后端与核心功能实现,重点参与 Firebase 数据流、商品发布管理和主要 marketplace 交互流程的开发。
- Java
- Android Studio
- Firebase Auth
- Firebase Firestore
- Android Navigation Component
- Material Components
- RecyclerView
- 基于 Firebase Auth 实现登录与注册流程。
- 使用 Fragment 与 Bottom Navigation 组织主要页面路由。
- 支持发布物品,包含名称、状态、取货地点、价格、分类、图片选择和可持续标签等字段。
- 接入 Firebase Firestore,用于 listing 数据存储和实时同步。
- Explore 页面支持搜索、分类筛选、距离筛选、免费物品筛选和可持续标签筛选。
- Listing 详情页支持物品信息展示、收藏切换,以及聊天/购买流程的原型入口。
- Profile 页面展示用户发布、活跃 listing、成就、设置入口和环保指标。
- 覆盖 Woods、Plastics、Paper、Glass、Local、Organic、Refurbished、Recyclable、Biodegradable、Reusable 等可持续分类。
.
|-- app/
| |-- src/main/
| | |-- java/com/example/greenmarketplace/
| | `-- res/
|-- gradle/
|-- build.gradle.kts
|-- settings.gradle.kts
`-- README.md
MainActivity.java:主页面布局、底部导航和 Navigation Controller 配置。AddPostingDetailsPage.java:发布物品表单与 Firestore 写入逻辑。ExploreDiscoverPage.java:Explore 列表、搜索、Tab、分类筛选、过滤器和 Firestore 监听。ForYouPage.java:个性化推荐列表、可持续生活指南和环保指标。ProfilePage.java:用户 listing、活跃 listing、成就与设置入口。Posting.java:核心 listing 数据模型。
公开作品集仓库不包含 google-services.json。
如需本地运行,请创建自己的 Firebase Android 项目,开启 Firebase Auth 和 Firestore,并将生成的 google-services.json 放到:
app/google-services.json
该文件已加入 .gitignore,避免泄露私有 Firebase 配置。
- 本仓库主要用于简历和作品集展示。
- 部分流程仍属于原型阶段,重点展示 Android 与 Firebase 的实现能力。
- 原始私有团队仓库的完整历史和本地配置不会公开。