kiarash-nazari / Tagify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tagify 💬

Flutter Logo     Flutter Logo     Appwrite Logo

Tagify enables the user to create and manage groups with ease. It lets the user find the right set of people and communicate relevant information with them.

  • After creating an account, users can assign themselves tags, for e.g. appdev, rajasthan, burger, etc.
  • Say we want to address everyone who is in Rajasthan and likes Burger or is in Assam and likes Fish, then we can simply create a group with this logic: (rajasthan AND burger) OR (assam AND fish) which is equivalent to (rajasthan & burger) | (assam & fish) and a group with those people will automatically be made!
  • To enter the logic for a group, we are using a bunch of buckets, there can be any number of buckets, and each bucket can contain any number of tags. The tags inside a bucket are ANDed, and then the buckets are ORed together.
  • Here is a presentation explaining the working of the app with screenshots.
  • Here is a video demonstrating the app.

Setting up the project in your local environment💻

  1. Fork this repository.
  2. Clone the forked repository:
git clone https://github.com/<your username>/Tagify
cd Tagify
  1. Add a remote to the upstream repository:
# Typing the command below should show you only 1 remote named origin with the URL of your forked repository
git remote -v
# Adding a remote for the upstream repository
git remote add upstream https://github.com/letsintegreat/Tagify
  1. Get Flutter and Firebase CLI if you don't already have them.
  2. Run flutter pub get to get the dependencies.
  3. If you have not yet logged into Firebase CLI and activate FlutterFire CLI globally:
firebase login
dart pub global activate flutterfire_cli
  1. Create a new project on Firebase Console, activate Google Sign In, and activate Firebase Firestore in test mode.
  2. Configure your flutter app with the newly created project on firebase console:
flutterfire configure

This automatically registers your per-platform apps with Firebase and adds a lib/firebase_options.dart configuration file to your Flutter project.

  1. Finally, run the app:
flutter run

Contributing to the project 🛠

Now that you have the project set up in your local environment, follow the steps below to contribute!

  1. Take up an already existing issue or create a new (but a valid) one via issue tracker.
  2. Pull the latest code in.
# Make sure you are on the main branch
git pull upstream main
  1. Create a new branch.
# Replace xx with the issue number you are working on and give your branch a good name
git checkout -b issue-xx-a-good-name
  1. Make your changes!
  2. Once done with a particular feature, bug fix, or a documentation part, add your changes to the staging area. Please don't add lib/firebase_options.dart file to your commit, it is meant to be kept as a secret.
git add .
  1. Review and commit your changes.
# The message should be in present tense, for ex - "Added feature x" is not ideal but "Add feature X" is
git commit -m "a meaningful message"
  1. Push your changes!
git push --set-upstream origin <your-branch-name>
  1. Create a pull request from GitHub and wait for the review!

Contributions of any kind welcome!

Authors

This project was developed under a hackathon by

About


Languages

Language:Dart 62.7%Language:C++ 16.6%Language:CMake 14.5%Language:Ruby 2.1%Language:Swift 1.5%Language:HTML 1.4%Language:C 1.1%Language:Kotlin 0.1%Language:Objective-C 0.0%