Scheduli keeps you informed about your daily schedule, even during the most chaotic days.
You can find the website at https://scheduli.dsns.dev/, as well as on iOS and Android.
Scheduli is structured as a Next.js and Expo monorepo, enabling shared code, tooling, and configuration to support both web and mobile platforms.
Core:
- TypeScript: For type-safe JavaScript development.
- Bun: For installing and managing dependencies across the monorepo.
- Turborepo: For high-performance monorepo management.
CI/CD:
- Playwright: For E2E testing of web applications.
- Maestro: For E2E mobile app testing.
Mobile (apps/mobile):
- React Native: For building native mobile apps with React.
- Expo: To streamline React Native development, building, and deployment.
- Expo Router: For file-based routing in Expo apps.
- Nativewind: For styling the mobile application.
- Notifee: For rich notifications.
- Swift: For native iOS widgets.
Web (apps/web):
- Next.js: For the React-based web application.
- React: For building the user interface.
- Tailwind CSS: For styling the web application.
Install the following tools before starting development:
- Bun
- Node.js (required by Expo tooling)
- Android Studio (required for Android development)
- Ensure the latest SDK and an Android emulator are installed
- Xcode (required for iOS development, macOS only)
- Ensure that iOS platform support is installed.
git clone https://github.com/dsnsgithub/scheduli-unified
bun install
bun run devIf you have Expo Credentials, run
bun run --filter @scheduli/mobile env:devIf not, load environment variables into ./apps/mobile/.env.local
# Environment: development
EXPO_PUBLIC_API_URL=http://localhost:3000/ # iOS
# EXPO_PUBLIC_API_URL=http://10.0.2.2:3000/ # Android
EXPO_PUBLIC_APP_VARIANT=developmentCreate a development build using:
bun run --filter @scheduli/mobile iosor
bun run --filter @scheduli/mobile android