Skip to content

Social connectivity app for university students (college project)

Notifications You must be signed in to change notification settings

aditheking/AmiMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

107 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AmiMatch πŸ’•

A university-focused connectivity (social) application designed to help students connect and build meaningful relationships.

Version Platform Language Firebase

πŸ“± About AmiMatch

AmiMatch is a modern, intuitive application specifically designed for university students. Built with the latest Android technologies and powered by Firebase, it provides a secure and engaging platform for students to discover and connect with like-minded peers within their academic community.

✨ Key Features

  • 🎯 University-Focused Matching: Tailored specifically for the university environment
  • πŸ”₯ Smart Matching Algorithm: Advanced matching system to find compatible connections
  • πŸ’¬ Real-time Messaging: Instant messaging with matched users
  • πŸ“Έ Rich Profiles: Comprehensive profile system with photos and interests
  • 🎨 Modern UI/UX: Beautiful, intuitive interface with smooth animations
  • πŸ”’ Secure & Private: Built with privacy and security in mind
  • ⚑ Real-time Updates: Live notifications and instant updates

🎬 App Highlights

  • Card Stack Interface: Swipe-based matching system with smooth animations
  • Lottie Animations: Beautiful, engaging animations throughout the app
  • Material Design: Modern Android design principles
  • Offline Support: Core functionality available offline
  • Push Notifications: Stay connected with real-time notifications

πŸ› οΈ Technology Stack

Frontend

  • Kotlin - Primary programming language
  • Android Jetpack - Modern Android development components
  • AndroidX Libraries - Latest Android support libraries
  • Material Design Components - Google's design system
  • Lottie - Beautiful animations
  • Glide - Image loading and caching
  • CardStackView - Swipe-based card interface

Backend & Services

  • Firebase Authentication - Secure user authentication
  • Cloud Firestore - Real-time NoSQL database
  • Firebase Storage - File and image storage
  • Firebase Messaging - Push notifications
  • Firebase Analytics - App analytics and insights

Build Tools & Development

  • Gradle - Build automation
  • Kotlin DSL - Modern Gradle configuration
  • Android Studio - Primary IDE
  • Git - Version control

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Android Studio (latest version recommended)
  • JDK 8 or higher
  • Android SDK (API level 23 or higher)
  • Git for version control

Quick Start

  1. Clone the repository

    git clone https://github.com/yourusername/AmiMatch.git
    cd AmiMatch
  2. Set up local configuration

    cp local.properties.sample local.properties
    # Edit local.properties with your Android SDK path
  3. Configure Firebase

    • Create a Firebase project at Firebase Console
    • Add an Android app with package name: com.mini.amimatch
    • Download google-services.json and place it in the app/ directory
    • Enable Authentication, Firestore, Storage, and Messaging services
  4. Open in Android Studio

    • Open Android Studio
    • Select "Open an existing project"
    • Navigate to the AmiMatch directory
    • Wait for Gradle sync to complete
  5. Build and Run

    ./gradlew assembleDebug

    Or use Android Studio's run button

For detailed setup instructions, see SETUP.md.

πŸ“ Project Structure

AmiMatch/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”‚   β”œβ”€β”€ java/com/mini/amimatch/     # Kotlin source files
β”‚   β”‚   β”‚   β”œβ”€β”€ res/                        # Resources (layouts, drawables, etc.)
β”‚   β”‚   β”‚   β”œβ”€β”€ assets/                     # App assets (animations, etc.)
β”‚   β”‚   β”‚   └── AndroidManifest.xml         # App manifest
β”‚   β”‚   └── test/                           # Unit tests
β”‚   β”œβ”€β”€ build.gradle.kts                    # App-level Gradle config
β”‚   └── google-services.json.sample        # Firebase config sample
β”œβ”€β”€ gradle/                                 # Gradle wrapper
β”œβ”€β”€ build.gradle.kts                       # Project-level Gradle config
β”œβ”€β”€ settings.gradle.kts                    # Gradle settings
β”œβ”€β”€ gradle.properties                      # Project properties
β”œβ”€β”€ local.properties.sample               # Local config sample
β”œβ”€β”€ SETUP.md                              # Detailed setup guide
β”œβ”€β”€ .gitignore                            # Git ignore rules
└── README.md                             # This file

🎯 Core Features Implementation

Matching System

  • Card Stack View: Implemented using yuyakaido:cardstackview
  • Swipe Gestures: Left (reject), Right (like), Up/Down navigation
  • Smooth Animations: Lottie animations for enhanced user experience

Real-time Chat

  • Firebase Integration: Real-time messaging using Firestore
  • Message Status: Delivery and read receipts
  • Media Sharing: Photo and file sharing capabilities

Profile Management

  • Rich Profiles: Multiple photos, interests, and detailed information
  • Privacy Controls: Granular privacy settings
  • Profile Verification: University email verification

Notifications

  • Push Notifications: Firebase Cloud Messaging integration
  • In-app Notifications: Real-time updates and alerts
  • Notification Preferences: Customizable notification settings

πŸ§ͺ Current Status: Beta Version

AmiMatch is currently in Beta stage. This means:

  • βœ… Core functionality is implemented and working
  • ⚠️ Some features may be incomplete or unstable
  • πŸ› Bug reports and feedback are highly appreciated
  • πŸš€ Active development is ongoing

Known Limitations

  • Some UI elements may need refinement
  • Advanced matching algorithms are being optimized
  • Additional features are planned for future releases

🀝 Contributing

We welcome contributions to AmiMatch! Here's how you can help:

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

Development Guidelines

  • Follow Kotlin coding conventions
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure Firebase security rules are maintained

πŸ“ License

This project is currently in development. License terms will be specified in future releases.

πŸ™ Acknowledgments

Template Attribution

This project was built upon a pre-made template forked from a GitHub project. While the original template repository link is no longer available (the project was created some time ago), we acknowledge the foundational work that helped kickstart this project. The template has been significantly modified and enhanced to create the current AmiMatch application.

Special Thanks

  • Firebase Team - For providing an excellent backend-as-a-service platform
  • Android Team - For the comprehensive development tools and libraries
  • Open Source Community - For the amazing libraries and tools used in this project
  • Beta Testers - For their valuable feedback and bug reports

Libraries & Dependencies

πŸ“ž Support & Contact

For support, bug reports, or feature requests:

  • πŸ“§ Open an issue on GitHub
  • πŸ’¬ Join our community discussions
  • πŸ“± Follow the project for updates

Made with ❀️ for university students
AmiMatch - Connecting Hearts, Building Futures

About

Social connectivity app for university students (college project)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published