Inspiration

The four members of this team routinely do iOS development but often find ourselves repeating the same code or implementing the same functionality. Because of this, we decided to make an open-source library that will have all of this core functionality built and easy to use. All in all, our goal with this library was to simplify iOS development for everyone.

What it does

Sweep has a built in advanced JSON-parser that will make it very easy to parse JSON within your app. Additionally, Sweep implements a Web Request library that makes it super easy to make web requests in Swift and get the response information from it. We also included some convenience methods for NSMutableAttributedStrings and arrays. Lastly, we included some optional Firebase integration that helps simplify integrating Firebase into iOS applications.

How we built it

We built the project by dividing up the sections we wanted to implement and each tackling one. We then worked with each other when we got stuck to help get passed problems.

Challenges we ran into

We ran into some challenges with the way Swift handles certain things and how to overcome them. Specifically, we ran into some issues implementing the enumeration for some of the NSMutableAttributedString methods.

Accomplishments that we're proud of

We are extremely proud that we were able to create an entire open-source library from scratch in a single weekend and actually have a shippable product at the end.

What we learned

Each of us learned so much about the internal operations of Swift as well as better ways for implementing things in Swift. All in all, we all walked away from this project with a greater understanding of the Swift programming language and Apple's use of the language.

What's next for Sweep

Over the next few months, we plan on continuing the work on Sweep as well as trying to get other people to start using the library and contributing to it. We can't wait to see where the project goes or how many people we get to start using it.

Built With

Share this project:

Updates