Skip to content

Small Circle is a native Android marketplace application that connects local buyers and sellers. Users can discover items based on location, chat with sellers, manage listings, and more.

Notifications You must be signed in to change notification settings

auriorajaa/Small_Circle

Repository files navigation

Small Circle - Local Marketplace Android App

Small Circle is a native Android marketplace application that connects local buyers and sellers. Users can discover items based on location, chat with sellers, manage listings, and more.

Screenshots

Cover Slide 2 Slide FlowChart

Slide 3 Slide 4 Slide 5

Slide 6 Slide 7 Slide 8

Slide 9 Slide 10 Slide 11

Ending

Features

  • Authentication

    • Multiple sign-in options (Google, Email, Phone OTP)
    • Account verification
    • Profile management
  • Marketplace Features

    • Location-based item discovery using Google Maps
    • Multiple image upload for listings
    • Real-time chat with image sharing
    • Seller profiles
    • Product management (edit, delete, mark as sold)
    • Account verification system

Prerequisites

Before running the project, make sure you have:

  • Android Studio (latest version recommended)
  • JDK 8 or higher
  • Android device or emulator running Android 6.0 (API 23) or higher
  • Google Cloud account
  • Firebase account

Setup Instructions

1. Clone the Repository

git clone https://github.com/yourusername/small-circle.git
cd small-circle

2. Firebase Setup

  1. Create a new Firebase project at Firebase Console

  2. Enable the following services:

    • Authentication (Enable Google, Email/Password, and Phone providers)
    • Realtime Database
    • Storage
    • Cloud Messaging
    • Crashlytics
  3. Add your Android app to Firebase:

    • Package name: com.org.smallcircle
    • Download google-services.json
    • Place google-services.json in the app/ directory
  4. Firebase Authentication Setup:

    • Go to Authentication → Sign-in methods
    • Enable Google Sign-in
    • Enable Email/Password
    • Enable Phone Number
    • Add your SHA-1 and SHA-256 fingerprints (required for Google Sign-in)
  5. Firebase Database Rules:

    {
      "rules": {
        ".read": "auth != null",
        ".write": "auth != null"
      }
    }
  6. Firebase Storage Rules:

    rules_version = '2';
    service firebase.storage {
      match /b/{bucket}/o {
        match /{allPaths=**} {
          allow read, write: if request.auth != null;
        }
      }
    }
    

3. Google Maps Setup

  1. Go to Google Cloud Console
  2. Create a new project or select your Firebase project
  3. Enable the following APIs:
    • Maps SDK for Android
    • Places API
  4. Create credentials (API key)
  5. Add restrictions to your API key:
    • Application restrictions: Android apps
    • API restrictions: Maps SDK for Android and Places API

4. Configure Local Properties

  1. Create or open local.properties in the project root directory
  2. Add your Google Maps API key:
    MAPS_API_KEY=your_maps_api_key_here
    

5. Building the Project

  1. Open the project in Android Studio
  2. Sync project with Gradle files
  3. Build the project
  4. Run on your device or emulator

Common Issues & Troubleshooting

  1. Google Sign-in not working:

    • Verify SHA-1 and SHA-256 fingerprints in Firebase Console
    • Ensure google-services.json is up to date
  2. Maps not loading:

    • Check if API key is correctly added in local.properties
    • Verify API restrictions in Google Cloud Console
  3. Firebase Connection Issues:

    • Ensure google-services.json is in the correct location
    • Check internet connectivity
    • Verify Firebase project settings

Libraries Used

  • Firebase (Analytics, Auth, Database, Storage, Crashlytics)
  • Google Play Services (Maps, Places, Auth)
  • Country Code Picker (CCP)
  • Glide for image loading
  • Rounded ImageView
  • Material Design components
  • Lottie for animations
  • Shimmer Effect
  • AndroidX Browser
  • Play Integrity

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Let's Connect!

Created with ❤️ by Aurio Rajaa

About

Small Circle is a native Android marketplace application that connects local buyers and sellers. Users can discover items based on location, chat with sellers, manage listings, and more.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages