You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-12
Original file line number
Diff line number
Diff line change
@@ -19,15 +19,11 @@ The core features of this Android Application are
19
19
- Ticket Management
20
20
- Data sync with the [Open Event Organizer Server](https://github.com/fossasia/open-event-orga-server/)
21
21
22
-
Currently, the application is released in alpha phase at Google Play Store [here](https://play.google.com/store/apps/details?id=org.fossasia.eventyay).
22
+
Currently, the application is released in alpha phase and available here:
23
+
[Google Play](https://play.google.com/store/apps/details?id=com.eventyay.organizer) and [F-Droid](https://f-droid.org/en/packages/com.eventyay.organizer/).
23
24
24
-
<ahref='https://play.google.com/store/apps/details?id=org.fossasia.eventyay&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><imgalt='Get it on Google Play'src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png'height="80"/></a>
<ahref='https://play.google.com/store/apps/details?id=com.eventyay.organizer'><imgalt='Get it on Google Play'src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png'height="80"/></a>
26
+
<ahref='https://f-droid.org/en/packages/com.eventyay.organizer/'><imgalt='Get it on F-Droid'src='https://f-droid.org/assets/fdroid-logo.svg'height="80"/></a>
31
27
32
28
## Roadmap
33
29
@@ -64,10 +60,10 @@ Our chat channel is on gitter here: https://gitter.im/fossasia/open-event-orga-a
64
60
65
61
## Development
66
62
67
-
- The [Open Event Organizer Server](https://github.com/fossasia/open-event-orga-server) acts as the backend for this application. The API docs for the same can be accessed at https://open-event-api.herokuapp.com/ .
63
+
- The [Open Event Organizer Server](https://github.com/fossasia/open-event-orga-server) acts as the backend for this application. The API docs for the same can be accessed at https://open-event-api-dev.herokuapp.com/ .
68
64
- The following account can be used for testing and development purposes.
69
65
70
-
Email: orga.developer@gmail.com
66
+
Email: orgadeveloper@gmail.com
71
67
72
68
Password: fossasia
73
69
@@ -108,7 +104,7 @@ Please find info about the set up of the App in your development environment [he
108
104
109
105
### Project Conventions
110
106
111
-
There is certain conventions we follow in the project, we recommend that you become familiar with these so that the development process is uniform for everyone:
107
+
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:
112
108
113
109
#### Dependency Injection
114
110
@@ -126,7 +122,7 @@ We realize that MVP is opinionated and there is no strict boundary between the r
126
122
#### Project Structure
127
123
128
124
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 large number of unrelated classes are crammed in one layer and it becomes difficult to navigate through them.
129
-
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 all related classes of view, presenter, their implementations like Activities anf Fragments.
125
+
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 all related classes of view, presenter, their implementations like Activities and Fragments.
130
126
A notable exception to this is the `common` module and data classes like Models and Repositories as they are used in a cross component way.
131
127
***Note:** The interface contract for Presenter and View is present in `contract` package in each module`*
132
128
@@ -139,6 +135,32 @@ So, please take a look at already written tests(they are fairly self-documenting
139
135
140
136
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 for this practice, but if the functionality can be generalised and reused, it should most definitely be transferred in its own class and unit tested.
141
137
138
+
#### Branch Policy
139
+
140
+
The following branches are present in the project:
141
+
142
+
***development** All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to _development_. PRs to development branch must pass a build check and a unit-test check on Circle CI.
143
+
144
+
***master** This contains shipped code. After significant features/bugfixes are accumulated on development, we make a version update and make a release.
145
+
146
+
>Please Note that :-
147
+
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
148
+
149
+
- _versionCode_ : **Integer** : To be monotonically incremented with each merge. Failure to do so will lead to publishing error, and thus is a crucial step before any merge
150
+
- _versionName_ : **String** : User visible version of the app. To be changed following [semantic versioning](http://semver.org/)
151
+
152
+
***apk** This branch consists of multiple apk's which get generated by the Travis CI when the contributors branch is merged with the development branch and when the development is merged with the master branch. After every merge the previous APK's are deleted and new one's are created. The APK's are generated in accordance with the **update-apk.sh** script which is present in scripts folder.
153
+
154
+
### PR Guidelines
155
+
156
+
Please help us follow the best practice 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.
157
+
158
+
* Single commit per pull request
159
+
* For writing commit messages please read the [COMMITSTYLE](docs/commitStyle.md) carefully. Kindly adhere to the guidelines.
160
+
* Follow uniform design practices. The design language must be consistent throughout the app.
161
+
* The pull request will not get merged until and unless the commits are squashed. In case there are multiple commits on the PR, the commit author needs to squash them and not the maintainers cherrypicking and merging squashes.
162
+
* If the PR is related to any front end change, please attach relevant screenshots in the pull request description.
163
+
142
164
## License
143
165
144
166
This project is currently licensed under the GNU General Public License v3. A copy of LICENSE.md should be present along with the source code. To obtain the software under a different license, please contact [FOSSASIA](http://blog.fossasia.org/contact/).
0 commit comments