Skip to content

Repository files navigation

Scheduli

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.

Technologies Used

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.

Getting Started

Prerequisites

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.

Create Development Environment

git clone https://github.com/dsnsgithub/scheduli-unified
bun install
bun run dev

If you have Expo Credentials, run

bun run --filter @scheduli/mobile env:dev

If 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=development

Mobile Development Builds

Create a development build using:

bun run --filter @scheduli/mobile ios

or

bun run --filter @scheduli/mobile android

About

Scheduli is an app to track complicated school schedules, even during the most chaotic days.

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages