Project Details

BearShop

Mobile Application Development Completed ★

BearShop is a Flutter-based digital game distribution mobile application inspired by platforms such as Steam and Epic Games. It allows users to discover, search, purchase, review, and manage digital games. The application also provides user authentication, email verification, wishlists, shopping cart and payment functions, game libraries, AI-assisted chat, QR-code friend requests, maps, rankings, and other social features.

BearShop

◎ Overview

BearShop was developed as an academic group project for the Open Mobile Software Design course at the Hong Kong College of Technology. The project demonstrates the development of a full-featured digital game marketplace using Flutter. Firebase Authentication and Firestore are used for user accounts and cloud data, while Node.js and JSON Server provide a local API environment for frontend development and data-structure testing. The project uses a relational-style NoSQL structure to manage games, users, languages, discounts, wishlists, purchases, reviews, and other relationships. The application includes game discovery, search and filtering, stacked discount calculations, wishlists, shopping cart management, Stripe payment integration, personal game libraries, AI chat powered by Gemini, QR-code friend requests, GPS maps, rankings, reviews, and user profile management.

✓ Key Features

  • Email and password authentication
  • Email verification
  • User session management
  • Game browsing and product details
  • Game search by name and category
  • Game filtering by type
  • Stacked discount calculation
  • Shopping cart and checkout
  • Stripe payment integration
  • User wishlist
  • Personal game library
  • Purchase history management
  • Game ratings and reviews
  • Gemini AI chatroom
  • QR-code friend requests
  • GPS map and headquarters marker
  • User profiles and settings
  • Friend and social features
  • Game rankings
  • News and notices
  • Responsive Flutter user interface
  • Local API development with JSON Server
  • Firebase cloud data synchronization

◉ My Role

I worked as a co-developer of BearShop. I participated in designing and developing the Flutter mobile application, creating user interfaces, implementing application features, connecting frontend screens with Firebase and local APIs, testing functions, and preparing the project documentation. I also contributed to the planning of the application's data structure and user experience. I collaborated with my teammate to develop features such as user authentication, game browsing, search, shopping cart management, payments, wishlists, game libraries, and social functions. In addition, I helped test the application, identify development issues, and document the technologies, features, and design decisions used in the project.

! Challenges & Solutions

  • Designing a scalable relational-style structure in a NoSQL database
  • Maintaining data consistency between JSON Server and Firebase
  • Developing the frontend while backend APIs were incomplete
  • Connecting the Android emulator to the local API server
  • Implementing Firebase authentication and email verification
  • Managing relationships between users, games, discounts, and purchases
  • Calculating multiple stacked discounts correctly
  • Integrating and testing Stripe payments
  • Managing application routes and authentication guards
  • Handling asset paths and generated Flutter code
  • Completing a large project scope with a two-person team