Skip to content

iOS Developer Interview Test to replicate a given design that allows users to create, view and manage trips as well as to utilize Beeceptor for the backend CRUD endpoints.

Notifications You must be signed in to change notification settings

saladel/VoyatekGroupAssessment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of contents

Objective

  • Design the UI using the provided Figma link and implement an API to create a trip and view a trip. Submit the project as a GitHub repository.
  • API Endpoint for CRUD Operations: https://beeceptor.com/crud-api/

Design

Group 229213-2

Link to design

Task Requirements

UI Design:

Use the provided Figma design to create the UI. Ensure the UI matches the design specifications closely. Pay attention to details like spacing, fonts, colors, and alignment. Make the UI responsive for different screen sizes.

Integration:

Integrate the UI with the API. Implement the necessary logic to send trip details to the API and handle the response. Provide feedback to the user on the success or failure of the trip creation.

Documentation:

Include a README file in the GitHub repository. The README should contain instructions on how to set up and run the project. Provide details on the API endpoints and their usage. Include any additional information that may be helpful for understanding your implementation.

Demo

Demo —— Successful trip creation

Demo-Successful.mp4

Demo —— Unsuccessful trip creation

Demo-Unsuccessful-2.mp4

Architecture and Tools Used

  • The application is built using Swift and SwiftUI.
  • I made use of Async/Await for the GET request, URLSession for the POST request.
  • I used the Model-View-ViewModel(MVVM) architecture.

Running the application

You can run Hebron Plants on iOS 16.5 or later, iPadOS 15.5 and macOS 12.4 or later. You must have Xcode 15 or later installed.

  1. Click on the green button labeled Code then select Open with Xcode
  2. Click allow when the prompt shows.
  3. Click clone when the prompt shows.
  4. Click Trust and Open when the prompt shows.
  5. Choose the device you'd like to run the app on.
  6. Press the play button!

NOTICE BOARD

Endpoints

  • GET all trips endpoint: https://saladel.free.beeceptor.com/my-trip, https://tripps.free.beeceptor.com/my-trip

  • POST create trip endpoint: https://saladel.free.beeceptor.com/create-trip, https://tripps.free.beeceptor.com/create-trip


  • After Cloning the project, Go to ViewModel -> CreateTripViewModel comment the following line
let postEndpoint = "https://tripps.free.beeceptor.com/create-trip 

by adding // in front of it. i.e:

//let postEndpoint = "https://tripps.free.beeceptor.com/create-trip

then uncomment

// let postEndpoint = "https://saladel.free.beeceptor.com/create-trip"

by removing the // in front of it.

  • Also Go to ViewModel -> TripDetailViewModel comment
let endpoint = "https://tripps.free.beeceptor.com/my-trip"

by adding // in front of it. i.e:

//let endpoint = "https://tripps.free.beeceptor.com/my-trip"

then uncomment

let endpoint = "https://saladel.free.beeceptor.com/my-trip"

by removing // in front of it.

Feel free to reach out to me on Linkedin or Twitter if you have any questions or feedback!

🔝

About

iOS Developer Interview Test to replicate a given design that allows users to create, view and manage trips as well as to utilize Beeceptor for the backend CRUD endpoints.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages