Cali
![]()
an Outlook Calendar clone
Hi, my name is Will. I’m an iOS developer based in Auckland.
Over the last two weeks, I’ve been working on a clone of the Outlook Calendar App. I think Outlook has many well made features, and I had lots of fun working on this project. :]

Custom layout library
I’ve written a custom layout library to help me layout custom views:
Layouts
Layouts Documentation
It’s a convention over configuration, CSS inspired framework with a chainable interface
Browsable internal documentation
Documentation generation is fully automated and extracted from file link

Dependency injection
I’ve implemented a DI container to control dependencies injected UI Tests for e.g., will always run on the same date, which reduces side effects and false positives Unit tests uses a container that returns mock objects
UI tests
UI Tests are written using the page pattern
for e.g.
// Test create event and open
MainView(app: app)
.createEvent()
.save()
.openEvent()
.assertEventOpened()
Unit tests
I’ve written some tests around formatters, and included examples on how I would write tests for View Controllers.
If I had more time…
- More unit and UI test coverage
Due to time constraints, I’ve only wrote a few tests - Geocoding weather location currently, it’s only based on user location
- Adding location to events No way of adding a location when creating events
- Local notifications Ability to configure and show notifications as reminders
Reference