My Capstone Project Kickoff

Hey everyone, I’m Eren Akel and super excited to kick off my capstone project for the “Launch Your First App” program.

My background is in Metallurgical and Materials Engineering, but for the past month, I’ve been diving into iOS development. It is something I have wanted to do for a while because I have so many app ideas in my mind and I finally decided to stop thinking about them and start building.

I will be sharing my progress here as I go and I can’t wait to see how this journey unfolds!

Hello again. As the second stage of my journey, when I was researching ideas for my app, I initially thought that trying to make a very complex app would be difficult and would discourage me.

Firstly, I wanted to make a soup making application, but I had a hard time especially transferring SwiftData to 3 different list items and placing it in a view. I got many errors and when I couldn’t figure them out despite too musch internet research and ai use, I decided to abandon this project in order not to lose my enthusiasm. While researching ideas, I thought it would be more efficient to get the data using an API and use one or two-stage swiftdata if necessary.

After researching APIs for a while, I came across with a cocktail API (theCocktailDB). I thought it would be nice to have an application where I could discover new cocktails and add them to my favorites. In this direction, I thought of the following application structure:

App Name: Cocktailove

Concept:

Cocktailove is an app designed for cocktail enthusiasts to discover, save, and explore different cocktail recipes. My goal is to make it easy for users to access a variety of cocktail recipes, save their favorites, and enjoy a simple yet engaging user experience. With a stylish and fun interface, I want to create a space where everyone can embark on their own cocktail journey effortlessly.

MVPs:

Instead of getting lost in unnecessary details at the beginning, I want to launch a simple yet effective app with core functionalities. The MVP will include:

  • Onboarding: A simple introduction screen explaining the app features
  • Home Screen: A main screen showcasing popular cocktails with a basic search bar.
  • Cocktail Detail Page: A detailed recipe screen including ingredients, instructions and the cocktail image.
  • Favorites List: Users can save their favorite cocktails and access them later.
  • Clean and Smooth UI: A stylish, readable and enjoyable design.

Initially, I want to focus on the most essential features without overcomplicating things. The priority is to get a working product out quickly and then continue refining it.

Hello everyone, I have created a wireframe on Figma for the design of my application. I was too lazy to detail some parts. So I’m sorry if it’s ugly :slight_smile: I hope you like it. I’m also leaving the Figma file here so you can examine it in detail and navigate through the application.

Also, I started writing the codes by creating a model according to the data coming from the API. See you with new developments…

Hello, I coded onboarding and homeview according to the designs I mentioned in the previous post. I solved the search function for homeview. I wanted to ensure that popular cocktails appear on the screen at the beginning, before any search is made.

Normally, there is an endpoint in the documentation for the API to fetch popular cocktails. However, I had difficulties defining this in the model where I saved the data and could not get that data correctly. For this reason, I created an array of popular drinks and randomized it so that it appeared on the screen.

You can review the stage so far from the link below:

Hello everyone,

Some time ago, I started working on my iOS app, Cocktailove. My goal was to create an app where users could easily find cocktail recipes, save their favorites, and discover new ones. Now that the project is complete, I want to share my experience and what I learned along the way.

Challenges I Faced and How I Overcame Them

  • UI/UX Design: Creating a user-friendly and modern interface took more effort than I initially expected. I refined the design by searching and learning more about design principles.
  • Data Management: Figuring out the best way to store cocktail recipes was a challenge. After weighing my options between an online database and SwiftData, I chose SwiftData to ensure offline support.
  • API Integration: I researched different cocktail APIs to provide a rich selection of recipes and integrated the most suitable one into the app. Processing and filtering the provided data took some extra work.

What I Learned from This Project

  • User Experience Matters: A well-functioning app isn’t enough; understanding user habits and needs is crucial.
  • Keep Things Modular: Reducing code repetition and building a scalable architecture made things much easier as the project grew.
  • Debugging and Error Handling: I got much better at troubleshooting errors and understanding log messages.

Final Thoughts and Future Plans

Cocktailove is finally live on the App Store! This project not only improved my technical skills but also strengthened my problem-solving and user-focused thinking. Moving forward, I want to specialize in AI and NLP to build smarter, data-driven applications.

Here is the video of the app:

Thanks to the CodeWithChris family for providing me with all the infrastructure I needed to make this app. Thanks to you, I learned a lot and also received detailed answers to my questions.

Best wishes,
Eren Akel