Git Product home page Git Product logo

tinder_clone's Introduction

Tinder Clone

Russian Version

Tinder Clone is a mobile application that replicates the popular dating app Tinder. It allows users to create an account, edit their profile, search for other users, and interact with them through swipe and chat features. The app offers features such as phone number registration, profile customization, user search based on location and age, swipe left/right to block or like users, viewing users who liked you, and a chat interface with messages organized by dates.

Functionality

  1. Phone Number Registration: Users can register using their phone number and verify it through SMS. Account information is persisted even if the app is reinstalled.
  2. Profile Editing: Users can edit their profile information including name, date of birth, gender, city, bio, and preferred gender.
  3. User Search: The app allows users to search for other people based on specified criteria such as city and similar age range.
    • Swipe Left: Users can swipe left on a card to block a user.
    • Swipe Right: Users can swipe right on a card to like a user.
  4. Likes and Matches: Users can view and choose users who liked them.
    • Swipe Left: Users can swipe left on a card to block a user.
    • Swipe Right: Users can swipe right on a card to start a chat with the user.
  5. Chat Interface: The app provides a chat functionality where users can exchange messages with each other.
    • Messages are organized by dates for better readability.
  6. Preference System: You will be offered users with similar interests.
    • We have more than 40 tags for you.
  7. Localization: Supporting multiple languages.
    • We support languages such as Russian and English
  8. Tinder Plus: If you are a Plus user, your name and age will have a yellow shadow in the card.
    • Plus users' functionality will be expanded in the future.
  9. Online/Offline Status Display: Showing online/offline status of users on their cards.
  10. Internal and external notifications: If the application is open, you will be notified of new matches in the form of a dialog box. If the application is closed, you will receive notifications.
  11. Loading status and error handling: You will see a spinning indicator during the loading, as well as an error message if something goes wrong.
  12. Internet connection loss alerts: You will receive pop-ups to notify you when your internet connection is lost or restored.

Planned Updates

In future updates, Tinder Clone plans to introduce the following features and improvements:

  1. Profanity Filtering: Implementing automatic filtering of profane content in messages.
  2. Message Encryption: Exploring message encryption capability, considering the need for moderation and positioning the app as a dating platform rather than a fully secure messenger.
  3. User Interface Improvements: Continuously refining the user interface and experience based on user feedback and industry best practices.

Technologies Used

  • firebase_core: Initialization and setup of Firebase in the app.
  • firebase_auth: User registration and authentication using phone number.
  • cloud_firestore: Storage of user profiles, chats, and messages.
  • firebase_storage: Upload and storage of user profile images.
  • flutter_screenutil: Adaptation of the interface for various screen sizes and resolutions.
  • flutter_riverpod: State management and dependency injection.
  • image_picker: Selection and retrieval of images for user profiles.
  • carousel_slider: Display of image carousels in user profiles.
  • flutter_card_swiper: Implementation of left/right swipe for user selection.
  • intl: Localization of dates and numbers for different regions and languages.
  • uuid: Generation of unique identifiers for profiles and messages.
  • cached_network_image: Caching and display of user images from the network.
  • custom_clippers: Custom clippers for creating interesting shapes for UI elements.
  • easy_localization: Localization of strings resources.
  • animations: Used for adding animations and visual effects to the app's interface.
  • lottie: Allows using animations in Lottie format in the app.
  • firebase_messaging: Used to implement a notification system in the app using Firebase Cloud Messaging (FCM).
  • http: Used for making HTTP requests to a server.
  • flutter_local_notifications: Used for displaying local notifications on the device.
  • either_dart: Utility that allows a functions to return two types of data.
  • connectivity_plus: Allows you to learn about changes in the status of your Internet connection.

tinder_clone's People

Contributors

levprav999 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tinder_clone's Issues

Could anyone provide tutorial?

Hi,

Will there be anyone who would do a full in-detail tutorial from A-Z on how to use this project and finally run it in the Android Studio?

My personal issue is I am currently stuck with adding Firebase SDK. I don't know what I am supposed to do with the Gradle files and code provided in the Firebase instructions.

Thank you in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.