diff --git a/README.md b/README.md index ce0392a..fe30324 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,75 @@ -# Flatshare +# π Flatshare -This mobile app allows you to easily track all what you need in your shared apartment with ease and no useless features. +Simplify living in a shared apartment! +**Flatshare** helps you manage tasks, shopping lists, and moreβeffortlessly and without clutter. -## Installing +It's **completely free**, **open source**, with **no ads** and **non-intrusive to your privacy**. -- IOS: https://testflight.apple.com/join/evmP9jag -- Android: Install the latest apk from the [release](https://github.com/invertedEcho/flatshare/releases) tab +
+ + + +
-## dev setup +--- -- Install all dependencies for backend +## π Key Features -```bash -cd backend && pnpm i -``` +βοΈ **Recurring & One-Off Tasks** +- Set recurring tasks that auto-assign to group members daily, weekly, or monthly. +- Manage one-time assignments effortlessly. -- setup environment variables +βοΈ **Real-Time Shopping List** +- A shared shopping list updated instantly for everyone in your group. -```bash -cp backend/.env.example backend/.env -cp frontend/.env.example frontend/.env -# adjust the values as needed. -``` +βοΈ **User Group Management** +- Create or join groups. +- Invite others via an easy-to-share invite code or link. -- setup database +βοΈ **Task Notifications** +- Get notified when you are assigned a new task. -```bash -# you will of course have to install docker beforehand -docker compose up -d -``` +--- -- start the apps +## π₯ Installation -```bash -cd backend && pnpm dev -cd frontend && flutter run -``` +> [!NOTE] +> Flatshare will soon be published on the App Store and the Google Play store -## tests +### iOS +Download via [TestFlight](https://testflight.apple.com/join/evmP9jag). -the tests are currently mainly focused around the database functions used in the assignment scheduler. +### Android +Get the latest APK from the [Releases](https://github.com/invertedEcho/flatshare/releases) tab. -as you probably dont want to run the tests against your main database, the tests are setup to run via a different .env file, e.g. `.env.test` +--- -- setup .env.test: +## π Coming Soon - ```bash - touch .env.test +π‘ **Multiple User Groups** +- Seamlessly manage multiple shared apartments or groups. - # content - DB_PASSWORD=postgres://*** - ``` +π‘ **Vacation Mode** +- Mark users as "on vacation" to adjust task assignments accordingly. -- run the tests: +π‘ **Expense Tracker** +- Keep tabs on shared expenses with an integrated shopping list tracker. - ```bash - pnpm test - # or pnpm test:watch for "hot-reloaded" tests - ``` +--- -## The Stack: +## π οΈ Tech Stack -- Backend: - - NestJS - - drizzle (ORM) +**Backend:** +- π [pnpm](https://pnpm.io/) +- π [NestJS](https://nestjs.com/) +- β‘ [drizzle](https://orm.drizzle.team/) -- Frontend: - - flutter +**Frontend:** +- π± [Flutter](https://flutter.dev/) + +--- + +## π Development Setup + +- **Backend Setup:** Check the [backend/README.md](backend/README.md) for detailed setup instructions for the backend. +- **Frontend Setup:** Check the [frontend/README.md](frontend/README.md) for detailed setup instructions for the frontend. diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 0000000..445b7f2 --- /dev/null +++ b/backend/README.md @@ -0,0 +1,49 @@ +## backend setup + +- Install all dependencies for backend + +```bash +pnpm i +``` + +- start local docker database (or use a free one like [Supabase](https://supabase.com)) + +```bash +# you will of course have to install docker beforehand +docker compose up -d +``` + +- setup environment variables + +```bash +# adjust the values as needed. +cp .env.example .env +``` + +- start the apps + +```bash +pnpm dev +``` + +## tests + +the tests are currently mainly focused around the database functions used in the assignment scheduler. + +as you probably dont want to run the tests against your main database, the tests are setup to run via a different .env file, e.g. `.env.test` + +- setup .env.test: + + ```bash + touch .env.test + + # content + DB_PASSWORD=postgres://*** + ``` + +- run the tests: + + ```bash + pnpm test + # or pnpm test:watch for "hot-reloaded" tests + ``` diff --git a/frontend/README.md b/frontend/README.md index c0f0f86..e10ae5e 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,3 +1,18 @@ +## frontend setup + +- setup environment variables + +```bash +# adjust the values as needed. +cp .env.example .env +``` + +- run it + +```bash +flutter run +``` + ## Signing the android app Create `key.properties` inside the `android/` folder. diff --git a/screenshots/assignments_tab.jpeg b/screenshots/assignments_tab.jpeg new file mode 100644 index 0000000..9320cff Binary files /dev/null and b/screenshots/assignments_tab.jpeg differ diff --git a/screenshots/shopping_list_tab.jpeg b/screenshots/shopping_list_tab.jpeg new file mode 100644 index 0000000..b04bd0a Binary files /dev/null and b/screenshots/shopping_list_tab.jpeg differ diff --git a/screenshots/tasks_tab.jpeg b/screenshots/tasks_tab.jpeg new file mode 100644 index 0000000..4e26fb9 Binary files /dev/null and b/screenshots/tasks_tab.jpeg differ