CollaborAnt is a mobile application designed to enhance teamwork by improving collaboration and interaction among team members. Inspired by the collaborative nature of ants, CollaborAnt provides a platform where users can work together seamlessly, share ideas, and manage projects effectively.
- Real-time Collaboration: Work together with your team in real-time.
- Task Management: Create, assign, and track tasks easily.
- Communication: Built-in chat and messaging features to keep everyone in sync.
- File Sharing: Share documents, images, and other files within the app.
- Notifications: Stay updated with real-time notifications on task updates and messages.
- User-friendly Interface: Intuitive and easy-to-navigate UI.
We have implemented user authentication following Firebase guidelines. Each time a user authenticates, a unique UUID is created. This UUID is crucial for maintaining a secure and efficient authentication system.
We created a users collection to store comprehensive information about each user. Each document within this collection includes properties such as:
- Name
- Profile photo URL or color of the monogram
- Address
- UUID (provided by Google)
- JoinedTeams
- Nickname
- Telephone
- Location
This structure ensures a one-to-one relationship between user authentication and user information.
Due to the 1 MB size limit for documents in Firestore, we utilize Firebase Storage for saving user profile images. Each user's image is stored with a filename that matches the user's unique UUID, ensuring easy retrieval and management.
Each user has a subcollection named kpivalues within their document to store the current KPI data for each team they are working with. This allows us to efficiently track and manage individual performance metrics.
We created a teams collection where each document represents a team and contains:
- Description
- Image or color of the monogram
- list of memebers
- list of roles
- Name of the team
- Unread message flag
Each team document also has a subcollection named chat, which stores the current messages exchanged within the team.
We use the Firestore-generated ID for the team to generate links or QR codes for team invitations.
Every time a user uses a link to join a team, their information is added to the list of members, and their initial role is set to "Junior Member" by default.
A separate tasks collection was established to manage tasks. Each task document includes details such as:
- Title
- Categories
- Due date
- End Date
- Repeat
- Tag
- Team id
- Parent id (if is a recurrent task)
- Delegated Members to the task
- Other relevant task information
Within each task document, there are several subcollections:
history: Contains a list of actions related to the task.comments: Stores all related messages for the task.
To work with attachments, we use Firebase Storage to handle files related to the task properly.
We've introduced a fresh new color palette to improve the visual appeal and usability of the app. Here’s a preview of the new palette:
Full color palette for both Light and Dark Themes:
- Primary Color: #FA9B1E
- Primary Dark Color: #FCCD85
- Primary Variant Color: #EF8019
- Secondary Color: #8CC5FF
- Secondary Variant Color: #2937B3
- Background Color: #F8F8F8
- Background Dark Color: #121212
- Error Color: #B00020
- Error Color: #CF6679
- Clone the repository:
or via ssh
git clone https://github.com/polito-MAD-2024/lab5-g15.git
-
git clone git@github.com:polito-MAD-2024/lab5-g15.git
- Open Android Studio:
- Select Open an existing Android Studio project.
- Navigate to the cloned directory and select it.
- Install dependencies:
- Ensure you have the latest version of Android Studio and all necessary SDKs.
- Sync the project with Gradle files.
- Run the application:
- Connect your Android device or start an emulator.
- Click on the Run button in Android Studio.
- Ensure Google Account Configuration: Make sure the device is already associated with a Google account through the device's settings or a web browser.
- Login: Open the application, click on Login and select the previously configured google account.
- Create a Team: Set up a new team and invite members.
- Start Collaborating: Begin creating tasks, sharing files, and communicating with your team.
Include some screenshots of your app here to give users a visual idea of what to expect.
CollaborAnt is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries or support, please contact us at madcollaborant@gmail.com.
