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
AND
ed, and then the buckets areOR
ed together. - Here is a presentation explaining the working of the app with screenshots.
- Here is a video demonstrating the app.
- Fork this repository.
- Clone the forked repository:
git clone https://github.com/<your username>/Tagify
cd Tagify
- 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
- Get Flutter and Firebase CLI if you don't already have them.
- Run
flutter pub get
to get the dependencies. - If you have not yet logged into
Firebase CLI
and activateFlutterFire CLI
globally:
firebase login
dart pub global activate flutterfire_cli
- Create a new project on Firebase Console, activate Google Sign In, and activate Firebase Firestore in test mode.
- 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.
- Finally, run the app:
flutter run
Now that you have the project set up in your local environment, follow the steps below to contribute!
- Take up an already existing issue or create a new (but a valid) one via issue tracker.
- Pull the latest code in.
# Make sure you are on the main branch
git pull upstream main
- 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
- Make your changes!
- 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 .
- 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"
- Push your changes!
git push --set-upstream origin <your-branch-name>
- Create a pull request from GitHub and wait for the review!
Contributions of any kind welcome!
This project was developed under a hackathon by