Giter Site home page Giter Site logo

trademysurf's Introduction

Recommendation app written for iOS from surfers to surfers

Survey by surfers: https://docs.google.com/forms/d/e/1FAIpQLSdzwVMycAc3ISaFck8lxFKnC8e5i4BmnzlVo_N9-Z0lRCYeJg/viewform?usp=sf_link

๐Ÿ“Œ project requires Xcode 13+ (Swift 5.0)

Deployed for: iOS 14+

Why did you undertake the project?

This was a long passion of mine and I was lucky enough to get a mentorship through a Import Foundation programme where I presented my vague idea at the time. This led me to wonderful collaborations and learning path. Here is the result of Beta V1.0. surf app. It was created from idea: help surfers to learn from surf goals and expectations. Adding value to surf hobby by that extra planning, it is a developers approach to surfing.

Scope / User story

As a surfer I want to set clear surf goal. To accomplish this goal I need a correct sufboard and a location. I choose a level in the app and the date of expected surf and than the app opens the recommended boards and locations. As a surfer I want to buy a new or second hand surfboard but I do not know what kind would be useful for me. I tap claculator and see the choices I have for range I can spend. alt tag

Used Libraries

CoreML

SwiftyPickerPopover

SwiftLint

Lottie

Technologies / Stack used

Navigation scheme: MVC + Coordinator manager Using the UIResponder

Illustrates flow of the app: User always needs to come back to the begining- Welcome screen alt tag

  • Splash screen
  • Welcome screen
  • Add level flow
  • Add date flow
  • TabBar Main Coordinator
  • Recommendations for trip
  • Previous trips - (check a list)
  • Calculator for board prices

Linear Regression

CoreML and prediction model for the surfboard prices

List of features

  • Recommended surfboards (volume,shape,size) for the user level
  • Recommended country locations for season and level
  • Preditions for used or new surfboard current market price

Lessons learned

  • How simple is to use CoreML and how hard itis to test the model
  • The exciting thing about this work is that I had no idea where it would take me. I knew I needed to use Coordinator pattern and that I would not be using a backend for the first version of the app (only mocks).
  • I learned how to focus on one main priority thing, and reduce the complexity.
  • Building MVP from scratch, kickstart idea-design-tech stack and implementation of it.
  • Don't mix SwiftUI with AutoLayout
  • App Store upload process

Wish list

  • Implement tests for business logic and UI - automatisation

Installation

Download the project.

Open the terminal and navigate to the directory of project cd TradeMySurf.

Install Dependencies with Cocoapods pod install.

Open the workspace open TradeMySurf.xcworkspace.

Project Archirecture

alt tag

This GitHub Page and Project is in development so It will be changing frequently. I created a Trello to try to organize myself with everything I would like to develop for this App.

Feel free add suggestions to the the BackLog tab.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.