An events app to discover events happening around the world using the Open Event Platform on Eventyay.
Eventyay Attendee App provides following features for users:
Application is available here:
Please join our mailing list to discuss questions regarding the project here
Our chat channel is on gitter here
A native Android app using Kotlin for writing code and Open event server for API.
There are certain conventions we follow in the project, we recommend that you become familiar with these so that the development process is uniform for everyone:
Generally, projects are created using package by layer approach where packages are names by layers like ui
, activity
, fragment
, etc but it quickly becomes unscalable in large projects where a large number of unrelated classes are crammed in one layer and it becomes difficult to navigate through them.
Instead, we follow package by feature, which at the cost of flatness of our project, provides us packages of isolated functioning related classes which are likely to be a complete self-sufficient component of the application. Each package contains all related classes of view, presenter, their implementations like Activities and Fragments.
A notable exception to this is the helper
module and data classes like Models and Repositories as they are used in a cross component way.
Lastly, each class should only perform one task, do it well, and be unit tested for it. For example, if a presenter is doing more than it should, i.e., parsing dates or implementing search logic, better move it in its own class. There can be exceptions to this practice, but if the functionality can be generalised and reused, it should most definitely be transferred in its own class and unit tested.
First time contributors can read CONTRIBUTING.md file for help regarding creating issues and sending pull requests.
We have the following branches
master This contains shipped code. After significant features/bugfixes are accumulated on development, we make a version update and make a release.
Please Note that :-
Each push to master branch automatically publishes the application to Play Store as an Alpha Release. Thus, on each merge into master, the versionCode and versionName MUST be changed accordingly in app/build.gradle
Please help us follow the best practices to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.
Installing APK on your device: You can get debug APK as well as Release APK in apk branch of the repository. After each PR merge, both the APKs are automatically updated. So, just download the APK you want and install it on your device. The APKs will always be the latest one.
This project is currently licensed under the Apache License Version 2.0. A copy of LICENSE should be present along with the source code. To obtain the software under a different license, please contact FOSSASIA.