Challenge Overview
THIS CHALLENGE IS FOR https://nerdear.la/ ON OCT 17TH IN ARGENTINA, ANYONE IN ARGENTINA CAN PARTICIPATE, AND YOU ARE WELCOME TO COMPETE FROM HOME.
The first 50 submitters will get an exclusive Tshirt each! Top 3 members will get $150, $50, $50 each.
-
Target environment: No limitation
-
Basic Requirements: Create an interesting and useful mobile/web app or any other thing based on the given API.
Project background
Welcome to Buenos Aires! Buenos Aires is the top tourism destination. As a brilliant top coder, you would like to build an app to help the tourists know the transportation status in Buenos Aires. The style of the app is open, you can create mobile apps, web apps and anything else you like. The transportation data can be fetched by API. Here is the API console.
For more details of the API, please check this document.
Technology Stack
-
No limitation
Requirements
1. Sign up for the API
Most API calls require you to enter client_id and client_secret as the query parameters, then you have to sign up to get your own client_id and client_secret.
Here are the steps for sign-up.
-
Visit https://www.buenosaires.gob.ar/desarrollourbano/transporte/apitransporte and scroll to the bottom, then click on the Registrate » button.
-
In the sign-up page, fill the following fields
-
Nombre de usuario (Username)
-
Correo electrónico (Email)
-
Organización (Organization)
-
Uso previsto (Intended use)
-
Plataforma de destino (Destination Platform)
-
Público objetivo (Target Audience)
-
Número de audiencia estimada (Estimated audience number): recommend to fill a value less than 10.
-
-
Then click on the Enviar button, and you’ll receive an email with the client_id and client_secret.
You are ready to play with the API now.
2. API resources
The API provides the following resources for querying
-
/subway You can fetch the info of subways from this resource.
-
/trains You can fetch the info of trains from this resource.
-
/groups You can fetch the info of buses from this resource.
-
/Ecobici You can fetch the info of share bikes from this resource.
-
/Transit/v1 You can fetch the info of public roads from this resource.
You don’t have to use all API resources, you can use any one or more API resources as you like.
All API calls are using the HTTP GET method. Here is a sample call in cURL.
curl -X GET
'https://apitransporte.buenosaires.gob.ar/subtes/feed-gtfs?client_id=<your_client_id>&client_secret=<your_client_secret>'
Please note some API response is a zip archive, you can also download these zip archives in advance and use the data directly in your app. For example
-
/subtes/feed-gtfs
-
/trenes/feed-gtfs
-
/collectives/feed-gtfs
-
/colectivos/feed-gtfs-frequency
For example, if you open a browser and visit https://apitransporte.buenosaires.gob.ar/trenes/feed-gtfs?client_id=<your-client-id>&client_secret=<your-client-secret>, then you can download the zip archive.
You need to replace <your-client-id> and <your-client-secret> with your own client ID and secret. You can also replace /trenes/feed-gtfs with other endpoints listed above.
3. Sample scenarios
Here are some sample scenarios for your reference, you don’t have to implement these scenarios. These are just for bringing your brilliant ideas.
-
Your friend Bill wants to visit a specific place but he doesn’t know which bus, subway or train is available for him, you build an app to display the available transportation methods for him.
-
Your friend Bill wants to know the available parking lots nearby a specific location, you build an app to show the info to him.
-
Your friend Bill is a fan of bikes. You build an app to list all the status of all shared bike stations.
4. Frequent Q/A
(1) Question: Should the app use a map for displaying the transportation methods? Mandatory?
Answer: It's up to you. The style of the app is open. so the map is not mandatory.
(2) Question: If 1) is positive, is google maps ok?
Answer: Definitely. You can use any map as you like, as long as it's free or provides free quota.
(3) Question: Is the app meant to guide the user from point A to point B? Meaning, providing an itinerary.
Answer: You can define the functionality of the app freely, as long as it's useful and leveraging the data from the API.
(4) Question: Can we use local JSON fetching instead of the API?
Answer: If you use the data in the zip archive (See some API responses are the zip archives), yes, you can load the local data (JSON or csv) instead of API. For other API endpoints, you should call the API because the response data are not static, they reflect the realtime transportation status.
Final Review & Scoring Guidelines
Your submission will be reviewed subjectively, the review scoring guidelines are
(1) Completeness of your submission (50%)
-
Is your submission runnable and workable?
-
Is your submission using any endpoint of the given API?
-
Are client_id and client_secret configurable in your code so that the reviewers can easily replace them with their own client_id and client_secret?
-
Did you provide a document describing what you built and what your intentions are?
(2) Showcase (30%)
-
Is the overall user experience of your submission good?
-
Does your submission showcase any interesting info from the given API?
(3) Innovation (20%)
-
Is it interesting what your submission demonstrated?
-
Are your submission and idea innovative overall?
The review will be performed subjectively by the copilot and Topcoder admin, with no appeal and appeal response phase.
THIS CHALLENGE IS FOR https://nerdear.la/ ON OCT 17TH IN ARGENTINA, ANYONE IN ARGENTINA CAN PARTICIPATE, AND YOU ARE WELCOME TO COMPETE FROM HOME.Final Submission Guidelines
Please zip all the following content in a zip archive.
1. The source code of your submission.
2. A thorough deployment guide of your submission, please note if we can’t merely follow your deployment guide to deploying your submission, your submission will be disqualified.
3. A simple README of your submission, to give an overview of your submission, including what kind of app you made, what info does it show, and 1~2 lines telling about your tech stack used (Can be in Spanish). The README should be a separate document from the deployment guide.
4. A demo video to showcase your submission. It’s not mandatory but will be very helpful for the review.