A mobile app where you can track habits together with friends
Waitlist Signup: habitstogether.app
Table of Contents
- Habits Tracking: Track customizable habits with the click of a button.
- Social Features: Add friends, participate in habits together, and keep each other on track.
- Notifications: Get reminders to complete your habits and nudge your friends to complete theirs.
Noteworthy Libraries Used
- pnpm
- iOS simulator or Android emulator
- Clone the repo
- Install packages
pnpm install
- Prebuild
pnpm prebuild
- Run the app
Then instructions will appear for how to open your simulator/emulator. Alternatively, you can use
pnpm start
pnpm ios
orpnpm android
directly. (You might need to usepnpm ios
orpnpm android
after installing packages for the first time.)
- If some nativewind styles are just not applying sometimes, clear the cache using
pnpm start -c
.
// habits collection
{
[habitId: HabitIdT]: {
title: string;
icon: string;
description: string | undefined;
colorName: string;
settings: {
allowMultipleCompletions: boolean;
};
createdAt: Date;
participants: { // map, not subcollection
[userId: UserIdT]: {
displayName: string;
username: string;
lastActivity: Date;
isOwner: boolean | undefined;
};
};
// subcollection
participantCompletions: {
[userId: UserIdT]: {
entries: {
[entryId: EntryIdT]: {
numberOfCompletions: number;
note: string | undefined;
image: string | undefined;
};
};
};
};
};
}
// users collection
{
[userId: UserIdT]: {
username: string;
displayName: string;
createdAt: Date;
};
}
// relationships collection
{
[userId: UserIdT]: {
[otherUserId: UserIdT]: {
{
status: "friends" | "pending" | "blocked";
friendsSince: Date | undefined;
};
};
};
}
// notifications collection
{
[notificationId: NotificationIdT]: {
type: "habitInvite" | "nudge" | "friendRequest";
senderId: UserIdT;
receiverId: UserIdT;
habitId: HabitIdT | undefined;
sentAt: Date;
};
}
We are open to contributions. You can fork the repository then make a pull request. But it would be best to reach out first!
Distributed under the MIT License. See LICENSE.txt
for more information.
For any inquiries, contact [email protected].
- Used React Native Template Obytes as a starter
- Part of Buildspace s5