Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukesthl/digital-break-app
๐ฑ iOS Screen Time Focus App built with Expo, React Native and Tamagui
https://github.com/lukesthl/digital-break-app
appintents bun expo ios react-native tamagui
Last synced: about 1 month ago
JSON representation
๐ฑ iOS Screen Time Focus App built with Expo, React Native and Tamagui
- Host: GitHub
- URL: https://github.com/lukesthl/digital-break-app
- Owner: lukesthl
- License: mit
- Created: 2023-11-18T09:34:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-10T13:50:03.000Z (11 months ago)
- Last Synced: 2024-02-10T14:32:11.534Z (11 months ago)
- Topics: appintents, bun, expo, ios, react-native, tamagui
- Language: TypeScript
- Homepage:
- Size: 57.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Digital Break - Screen Time Focus
Take control of your screen time with Digital Break - a app designed to introduce a break before you dive into your social media apps.
About The Project ยท
Key Features ยท
Getting Started ยท
Tech Stack ยท
License
## About The Project
๏ฃฟ App Store: [Digital Break on the App Store](https://apps.apple.com/de/app/digitalbreak-screentime-focus/id6474795966)
๐ฑ Play Store: **not supported**## Key Features
- **App Blocking**: Personalize your experience by choosing which apps and websites trigger a pause.
- **Progress Tracking**: Monitor your digital well-being with analytics on usage patterns.
- **Privacy-First**: Operates without collecting personal data, ensuring your privacy.## Getting Started
Start by cloning the repository and installing the dependencies.
1. Install the dependencies
```sh
bun i
```2. Install app and run dev-client
```sh
bun run ios
```## Tech Stack
###
- [Expo](https://expo.dev/) with [Expo Config Plugins](https://docs.expo.dev/guides/config-plugins/)
- [React Native](https://reactnative.dev/)
- [Tamagui](tamagui.dev)
- [Bun](https://bun.sh/)Monorepo structure:
```
โโโ apps
โ โโโ expo (App)
โ โ โโโ ...
โโโ packages
โ โโโ shortcuts-generator
โ โโโ expo-exit-app
โ โโโ target-plugin
```### About the packages
- **shortcuts-generator**: Generates shortcuts for the defined [apps.json](/public/apps.json) via the [shortuctu.template.plist](/public/shortcut.template.plist) and signs them with `shortcuts sign` command.
- **expo-exit-app**: A simple package to exit the app. It's used to close the app when the user presses the "I don't want to open xxx app" button.
- **target-plugin**: The Plugin for setting up the iOS AppIntent target [DigitalBreak.swift](/apps/expo/targets/intents/DigitalBreak.swift)## Architecture
The app uses the [AppIntent](https://developer.apple.com/documentation/appintents) framework to intercept the app opening event.
When the user opens an app that is defined in the [apps.json](/public/apps.json) the app will intercept the event and displays a break screen. When break is over the user can decide to open the app via the defined url scheme or close the app.## CI/CD
The project is build locally with Github Actions. Uploaded as an artifact and then automatically uploaded via Expo auto submit to the App Store.
Thankfully, Github Actions now allows M1 Macs to be used for the build process.## Ideas
- [ ] Android Support
- [ ] Multi Language Support
- [ ] Customizable Breaks## License
This project is licensed under the MIT License - see the LICENSE file for details.