Developing the Orlando Permits App: A Journey in iOS Development

Introduction

The Orlando Permits App was a project aimed at creating a convenient way for users to search for and fill out applications and licenses from the City of Orlando website. This blog post will detail the development process, including the steps taken to write the code and create documentation for the app. You can find the project’s files here.

Project Overview

The Orlando Permits App was developed using SwiftUI, Apple’s modern framework for building user interfaces across all Apple platforms. The app allows users to navigate through a list of permit forms, view details of each form, and fill out the forms directly within the app.

Development Process

1. Planning and Design

The development process began with thorough planning and design. Wireframes were created using Figma to visualize the app’s layout and user interface. The wireframes helped in defining the app’s navigation flow and overall look and feel.

2. Setting Up the Project

The project was set up in Xcode, Apple’s integrated development environment for macOS. A new SwiftUI project was created, and the initial project structure was established. This included creating the necessary SwiftUI views for the app’s home screen and permit forms.

3. Implementing the User Interface

The user interface was implemented using SwiftUI views. The home screen was designed to display a title, an image of downtown Orlando, and buttons for completing an application and checking on current applications. Each permit form was displayed as a list item, with a disclosure indicator for expanding the form details.

4. Working with PDF Forms

To allow users to fill out PDF forms within the app, the PDFKit framework was used. PDF forms were displayed using a PDFView, and user input was managed using SwiftUI’s @State and @Binding property wrappers. This allowed users to fill out PDF forms directly on their devices.

5. Adding Navigation and User Interaction

Navigation within the app was implemented using NavigationLink to allow users to navigate between screens. User interaction was added to the buttons and list items to enable users to view permit forms and fill them out.

6. Testing and Debugging

The app was tested on various iOS devices and simulators to ensure compatibility and responsiveness. Bugs and issues were identified and fixed using Xcode’s debugging tools and SwiftUI previews.

7. Documentation

Developer documentation was created to provide future teams with instructions on how to update the app. The documentation included a quick start guide, general instructions for updating the application, and troubleshooting tips.

Conclusion

The development of the Orlando Permits App was a challenging yet rewarding experience. The use of SwiftUI and PDFKit allowed for the creation of a user-friendly app that simplifies the process of applying for permits and licenses. By following a structured development process and creating comprehensive documentation, the app was successfully developed and can serve as a useful tool for the City of Orlando and its residents.