Skip to content

wafflestudio/snutt-ios

Repository files navigation


Logo

SNUTT iOS

The best timetable application for SNU students, developed and maintained by SNU students.


Prerequisites

1. Install Development Tools

# Install mise (for managing tool versions)
curl https://mise.run | sh

# Install Just (command runner)
brew install just

# Install other tools
brew install mint pre-commit swift-format

2. Install Tools Managed by mise

# Install tools declared in .mise.toml
# (currently tuist and ruby)
mise install

# Verify installation
mise exec -- ruby -v
mise exec -- tuist version

3. Install Ruby Dependencies for Fastlane

# Install project Ruby gems from Gemfile.lock
mise exec -- bundle install

Getting Started

# 1. Install tools managed by mise
mise install

# 2. Install Swift package dependencies
mise exec -- tuist install

# 3. Generate API client code (first time only)
just openapi-dev

# 4. Generate Xcode project and open it
just generate

That's it! Xcode should open automatically with the generated project.

Development Commands

All available commands are documented in the Justfile:

just --list

Device Registration

To test on a physical device, you need write access to App Store Connect and Match Repository.

  1. Run just register-device
  2. Enter your device name and UDID when prompted
  3. Run just generate to apply new provisioning profiles

Architecture

SNUTT follows a strict modular architecture with Clean Architecture principles.

For detailed information about the project structure, architecture patterns, and development guidelines, see CLAUDE.md.

About

SNUTT — iOS timetable app for SNU students

Resources

License

Stars

Watchers

Forks

Contributors

Languages