-
Notifications
You must be signed in to change notification settings - Fork 38
An Introduction for Developers
The project consist of two parts. The client (app), this repository and a backend service. The client is open sourced but the backend is not. The backend groups some API calls, deals with caching and adds some functionality that is currently missing in the provided API:s.
The project is built using Gradle.
Before setting up the project make sure that the most recent development tools is installed.
From the Android SDK Manager install the Android Support Repository and the Google Repository found in the extras section.
If you are using Android Studio, make sure to update it to the most recent version.
To be able to properly run the client you need to obtain an API key. To do this send an email to sthlmtraveling@markupartist.com with a line or two about your ideas for the project.
Once obtained add the API key to the build_default.properties
, please don't submit your API key to a public repository.
GitHub has some great articles on how to get started with Git and GitHub and how to fork a project. If you encounter any problems don't hesitate to ask.
Contributors are recommended to fork the app on GitHub (but you don't have too). When done with your changes press Pull Request and write a simple explanation of your changes. We will then be notified to merge the changes to main branch.
For an introduction of how to keep your fork in sync refer to the GitHub tutorial Syncing a fork.
One fix per commit. If say a a commit closes the open issue 12. Just add closes #12
in your commit message to close this issue automagically.
All code that is contributed must be compliant with Apache License 2.0. Graphics can be under another license but the app must have permissions to use it.
Contributors are recommended to follow the Android Code Style Guidelines.
In short that is;
- Indentation: 4 spaces, no tabs.
- Line length: 100 columns.
- Field names: Non-public, non-static fields start with m. static fields start with s.
- Braces: Opening braces don't go on their own line.
- Acronyms are words: Treat acronyms as words in names, yielding XmlHttpRequest, getUrl(), etc.
- Consistency: Look at what's around you!
Have fun and remember we do this in our spare time so don't be to serious :)