DEVELOPMENT PROCESS
Smart Market – Android Marketplace Application
1. Introduction
The Smart Market application was developed as part of the BICT2406 Mini Project. The aim
of the project was to build a modern Android marketplace application where users can
register, log in, browse products, view product details, like and rate products, add products to
a shopping cart, and simulate the checkout process. Firebase services were used to provide
secure authentication and cloud-based product storage.
2. Development Methodology
The project followed an incremental development approach. Each feature was designed,
implemented, tested, and improved before moving to the next feature. This approach made it
easier to identify and fix errors during development.
The development process consisted of the following stages:
1. Planning
2. Project Setup
3. User Interface Design
4. Firebase Integration
5. Feature Implementation
6. Testing
7. Bug Fixing
8. Deployment
3. Project Planning
Before writing any code, the project requirements were studied carefully. The team identified
all the required features and designed the application structure.
The following requirements were identified:
User Authentication
Product Browsing
Product Details
Product Rating
Like Functionality
Shopping Cart
Checkout
Firebase Firestore Database
The application screens were also planned before development began.
4. Project Setup
The development environment was prepared using:
Android Studio
Kotlin Programming Language
Jetpack Compose
Firebase Authentication
Firebase Firestore
Git
GitHub
A new Android Studio project named Smart Market was created using the Empty Activity
template with Jetpack Compose.
5. User Interface Design
The application's user interface was designed using Jetpack Compose.
The following screens were created:
Splash Screen
Login Screen
Registration Screen
Home Screen
Product Details Screen
Shopping Cart Screen
Checkout Screen
Material Design components were used to produce a clean, responsive, and user-friendly
interface.
6. Firebase Authentication
Firebase Authentication was integrated to manage user accounts securely.
The following features were implemented:
User Registration
User Login
User Logout
User credentials are validated before allowing access to the application.
7. Firebase Firestore Integration
Firebase Firestore was connected to the application to store product information.
Each product contains:
Product Name
Price
Description
Category
Image
Rating
The application retrieves product information from Firestore and displays it on the Home
Screen.
8. Product Browsing
The Home Screen displays all available products retrieved from Firebase.
Each product card contains:
Product Image
Product Name
Product Price
Product Rating
Like Button
Users can browse products by scrolling through the product list.
9. Product Details
When a product is selected, the application opens a Product Details screen displaying:
Product Image
Product Description
Product Price
Product Rating
Add to Cart Button
Buy Button
This allows users to view complete information before purchasing
10. Product Rating
A product rating system was implemented.
Users can rate products using a five-star rating system.
The selected rating is stored and displayed together with the product information.
11. Like Functionality
Users can like and unlike products.
The like button allows customers to mark products they are interested in.
12. Shopping Cart
A shopping cart feature was implemented to allow users to manage their purchases.
Users can:
Add products to the cart
Remove products from the cart
View the total cost
Update cart contents
The total price is automatically calculated.
13. Checkout
A checkout page was created to simulate the purchasing process.
The checkout screen displays:
Selected products
Total amount
Payment confirmation
The application simulates a success payment method.
14. Testing
Each feature was tested after implementation.
Testing included:
Registration
Login
Product loading
Product details
Shopping cart operations
Checkout process
Firebase connectivity
Errors discovered during testing were corrected before proceeding to the next stage.
15. Bug Fixing
Several issues were encountered during development, including:
Gradle configuration errors
Firebase connection issues
Layout adjustments
Navigation problems
Build errors
These problems were resolved through debugging, updating project configurations, and
testing each component individually.
16. Version Control
Git was used for version control throughout development.
The project repository was uploaded to GitHub to enable backup, collaboration, and
submission.
17. Challenges Encountered
Some of the challenges experienced during development included:
Configuring Firebase services
Resolving Gradle dependency conflicts
Connecting the application to Firestore
Managing application state in Jetpack Compose
Testing the application across different devices
These challenges were overcome through debugging, documentation review, and repeated
testing.
18. Conclusion
The Smart Market application was successfully developed as an Android marketplace
application using Kotlin and Jetpack Compose. The application implements user
authentication, product browsing, product details, ratings, likes, shopping cart management,
and checkout functionality while using Firebase Authentication and Firestore for backend
services. The project demonstrates the application of modern Android development practices
and satisfies the functional requirements specified in the assignment.