Skip to content

Blue9/jimo-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Jimo iOS

Jimo is an open-source social map app built in SwiftUI. It lets you save and share your favorite restaurants, activities, attractions, places to stay, shops, and more with friends.

  • Map: Easily see what trusted recs are near you or explore recs from across the globe in an interactive map view. Access a business’s phone number, website, and directions.
  • Feed: Stay up to date with your friends’ latest recommendations. Like posts and find inspiration for new places to visit.
  • Post: Save and share your favorite restaurants, activities, attractions, places to stay and shops. Include an optional note or photo.
  • Discover: Discover the latest places in a feed populated with posts by other Jimo users. Search for friends and other trustworthy accounts to follow.
  • Profile: Access all of your recs in one place or view somebody else’s profile to see all of their favorite spots.

Overview

The iOS app is built using SwiftUI. It has gone through many changes as new SwiftUI versions have come out and old ones have been deprecated, so some cruft in the codebase is expected.

We use MapKit for all map features, including for getting our place information. The benefit of this is it avoids extra dependencies and is free.

We speak to the Jimo server for all app-related requests, and these are all standard HTTP requests.

Screenshots

Getting started

This project requires Xcode to build and run. Start by opening the Jimo.xcodeproj project file to set up your project.

Note: This project uses Firebase for authentication and analytics.

You need to create a Firebase project and place the generated GoogleService-Info.plist in Jimo/Jimo/GoogleService-Info.plist (in the same folder as the existing Info.plist).

This isn't a "secure" file as it's exposed to users and publicly available to anyone who has the app, so it may be worth publishing the production app's plist in the repo to make it easier to get started. If you have any strong opinions on that, feel free to open an issue.

Running

To run the app, simply run from Xcode. The project uses SwiftPM for package management so the dependencies will be managed for you.

To change the server URL, edit Core/Networking/APIClient.swift. If you're running a localhost URL (presumably non-HTTPS), you'll have to set the port to 80 instead of 443 as well.

Contributing

While the app is no longer officially maintained, issues, feature requests, and contributions are welcome!

Notes

There is some dead code in this code base as a result of adding and removing features over the years. If you come across any, feel free to delete.