This is the native iOS mobile client for Freerooms. Freerooms is designed to help UNSW students easily find and browse available rooms and study spaces on campus. Built with speed, simplicity, and student experience in mind.
For 2025 we're aiming to have the following features on iOS to reach parity with the web application:
-
[] Check which rooms are free
-
[] Sort and filter by a range of criteria
-
[] See which buildings around you have free rooms on the map
-
[] See the timetable for each room
-
[] Quickly search for specific buildings or rooms
-
Xcode 16.3+
-
iOS 17+ device or simulator
-
Install Homebrew here
-
Install SwiftLint:
$ brew install swiftlint- Install SwiftFormat:
$ brew install swiftformat- Clone the repo:
$ git clone https://github.com/devsoc-unsw/freerooms-mobile.git- Install the custom git hooks (run the following commands from the
/freerooms-mobiledirectory, not/freerooms-mobile/ios):
$ chmod +x install-hooks.sh
$ ./install-hooks.sh-
Open
Freerooms.xcodeprojin Xcode -
Build and run the app on a simulator or your device using the
Freeroomsscheme
This project uses AirBnb's Swift style guide. SwiftLint and SwiftFormat are used to lint and format respectively, adhering to the style guide as closely as possible. After installation via Homebrew, they will run automatically on every build/commit/push.
To run them manually rather than on every build/commit/push, run the following commands in the /ios directory:
$ swiftformat .
$ swiftlintRefer to walkthrough on Confluence
To write tests, refer to testing strategy on Confluence
To run tests, use the shortcut CMD + U (in Xcode)
-
Fork the repo
-
Create your feature branch
-
Commit your changes, using conventional commit messages
-
Push to the branch
-
Ensure all tests and linting/formatting are passing before opening a pull request