Code Monkey home page Code Monkey logo

parkendd's Introduction

🚗 ParkenDD

Travis App Store GitHub Issues

ParkenDD shows you the current parking situation for various European cities, including Dresden, Ingolstadt, Hamburg, Zürich and Aarhus to name a select few. Depending on the available data you can see the current number of available public parking spots as well as their location. For a select number of lots you can also check out forecast information to see if there will be spots available when you arrive.

Features of the app:

  • See the current parking situation for your city at a glance
  • Multiples cities are supported, for a full list look here
  • Display parking lots on a map to see where they are exactly

The backend to ParkenDD is also open source. You're very welcome to help us by integrating further open data into our project so that we can support more cities. See the guide on ParkAPI's project page to get started.

ParkenDD also exists for Android and Windows 10, check out the project page if you're interested.

Pull requests and issue reports for this project are heavily encouraged! Feel free to open an issue should you have any question whatsoever.

If you'd like to have this app translated to your language, you can also help out by having a look at the project on POEditor. We're very interested in having as many languages as possible supported.

✌️

parkendd's People

Contributors

balzer82 avatar benchr267 avatar kiliankoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

parkendd's Issues

Integrate MapKit

Display a MapKit view when a parking lot is selected in the table view of where it is. Also show where the user is if he's within a reasonable range.

By the way: does that awesome popViewController-slidegesturestuff still work when there's a screen filling map view displayed?

Automatic updates

Not just on starting the app (by the way: how can this be done if it's just woken up?) but at timed intervals. Is this a good idea?

Sort parkinglot list according to user's location

It'd be cool to be able to sort the list of parking lots showing the nearest ones at the top. Not quite sure how to work with the sections? Or maybe sort the sections and then the stops in them?

Best way to go would probably be to leave out the sections entirely in this case. Go with just a long list of parkinglots sorted accordingly.

Get data from API

I like using issues as todos...

Don't forget to get the URL via NSUserDefaults so that the settings.bundle works. Also catch errors and timeouts and whatnot, especially since a user could mess with the server URL.

New state for permanently unavailable lots

Lots like Ostra-Allee are not part of the Parkleitsystem and are just listed for their metadata. They'll (probably) never have any empty spots listed in the app and should be displayed accordingly.

State info on the table view cell

It might look good to have the current state of the parking lot not only as the image, but also in text form. See if that works out.

UIRefreshControl display bug

When viewing the UIRefreshControl for the first time it always has this weird jerk to it. Hard to explain, but it looks stupid. Every subsequent view of it fine.

Mention contributors?

This is just a teeny tiny thing, but ask the three people thanked on the about page before publishing the app if it's ok to mention their names.

Color updated cells

Or something to make it clear the data has just changed on specific cells. Makes it easier to see if you're not staring at the screen.

Mail link for invalid data

Give the user a button to send me an email (preferably with a prefilled subject line containing the selected parking lot) if any of the data in the upcoming detail view should be incorrect.

Generate state colors dynamically

Instead of having three distinct colors for the main states (green, yellow and red), it would be a better idea to incorporate the percentage load into this somehow. So either a filled circle or a bar or something.

Pricing information

This would mean better scraper functionality, but it would be great to display current pricing information so the user can see the cheapest parking spot at the current time.

Settings view

A settings button in the upper left hand corner would be grand. Here things like the sorting (#1) could be set and the button for the about page could be moved right here as well.

Here's an icon: http://icons8.com/web-app/364/Settings

Stick the link from that on the about page as well.

Localization

App is in English at the moment, add translations for German.

Vorhersage der Belegung

Ich habe beispielhaft für die Centrum-Galerie für das Jahr 2015 eine Vorhersage der Belegung (in %) mit Machine Learning entwickelt. Das könnte man als Experimental-Feature in die App einbauen.

Ich stelle mir so eine Art Slider vor, wenn man auf die Centrum-Galerie geht, wo man
|======+30min=======in 1h=========in 2h=========in 3h==..
und auch
am 18.08.2015 um 15Uhr
über ein Date-Picker Tool in Android eingeben kann und dann die Belegung von der App zurück bekommt. Dazu müsste im einfachsten Fall eine .CSV geparsed werden und der korrekte Wert daraus entnommen und angezeigt.

Submit to App Store

Impossible at the moment thanks to Xcode 6.3 being a Beta version but still the only version to support Swift 1.2.

So I guess this will have to wait for an Xcode update ლ(ಠ_ಠ ლ)

http://stackoverflow.com/questions/28461768/xcode-organizer-trying-to-access-transporter-at-wrong-directory-path

Your app is built with a beta version of Xcode or iOS SDK. Only apps distributed for beta testing may be built with beta software. To submit an app for distribution on the App Store, you will need to build the app with release versions of Xcode and iOS SDK.

Odd UIRefreshControl behavior

When opening the app after it's been closed for a bit, the UIRefreshControl is displayed as a full circle. Everything still seems to work, but it looks weird like this.

img_0423

Additional user information

Let the user enter additional information on the spot where he/she parked their car. Or maybe even a photo.

Would definitely help making this even more useful.

Validate the server URL

As this can be set by the user it might be a good idea to validate the URL before trying to access the server.

Here's a possibility: http://stackoverflow.com/questions/1471201/how-to-validate-an-url-on-the-iphone

something along the lines of

NSURL *candidateURL = [NSURL URLWithString:candidate];
// WARNING > "test" is an URL according to RFCs, being just a path
// so you still should check scheme and all other NSURL attributes you need
if (candidateURL && candidateURL.scheme && candidateURL.host) {
  // candidate is a well-formed url with:
  //  - a scheme (like http://)
  //  - a host (like stackoverflow.com)
}

Still not a big fan or regex...

Don't forget the settings.bundle

This means getting the relevant data to and from NSUserDefaults, resetting stuff when the switch has been flipped and... yeah, that's about it.

Refresh button not coming back right away after failed refresh

No clue what's causing this whatsoever. The functions are being called at the right moment and I've even moved it to before the alertController is declared for a failed refresh, but no matter what the activity indicator disappears and the freakin' barbuttonitem ain't freakin' coming back!

Display more data on the detail view

Instead of just displaying a map, additional data could also be displayed. Things like the address and name (again), but also contact information, pricing, opening times and the tendency, all of which is listed on the detail pages at http://dresden.de/freie-parkplaetze. This would however have to be integrated into the scraper to make sure it's updated as well...

Location not being updated after 'late' authorization

If a user first denies access to location data and is later prompted to go into the settings because he/she chose to sort by location, the location is not being updated right after switching back to the app. Everything works fine if the sorting is switched around again.

It's slightly weird because the CLAuthorizationStatus is fine in that case, it's just the CLLocationManager delegate methods not being called for whatever reason it seems.

Update button

Bring back the update button. Makes it possible to update when scrolled down without having to find a specific parking lot again.

Icon

An app kinda needs an icon...

The obvious choice here would be to go into this direction, at least somewhat:

parken

Refresh on distance sorted tableview is reset to default for a short time

If the sorting mode is set to distance the table's data is reset to default sorting until a location has been determined. This can be a few seconds and is visually unpleasing to say the least.

Best idea would probably be to remember the distance sorted list temporarily and set it to that before resorting after the real location has been found. The labels can of course remain at waiting for location for this waiting time.

Handle timeouts

What if the server is just slow or the Wifi sucks? The refresh doesn't seem to ever end in this case.

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.