Skip to content
This repository has been archived by the owner on Sep 23, 2021. It is now read-only.

cornell-dti/events-manager-android

Repository files navigation

(Cornell University Events) v1.0

Contents

About

An Android app for Cornell students to find events. The iOS branch can be found here.

Getting Started

You will need Android Studio 3.1.3 to run the latest version of this app, which uses the following SDKs. Last update 6/9/2018 (remember to check "Show Package Details" on the lower right):

SDK Platforms (tab)

  • Android API 27
    • Android SDK Platform 27
    • Sources for Android 27

SDK Tools (tab)

  • Android SDK Build-Tools 27.0.3
  • Android Emulator (if you don't have an Android phone)
  • Android SDK Platform-Tools 28.0.0
  • Android SDK Tools 26.1.1
  • Documentation for Android SDK
  • Google Play Services, rev 49
  • Support Repository
    • ConstraintLayout for Android 1.0.2
    • Solver for ConstraintLayout 1.0.2
    • Android Support Repository, rev 47
    • Google Repository 58

Last updated 09/22/2018. ​

Code Review

After pushing any changes to the codebase, let's get your code reviewed. Some general guidelines:

  • Before you start changing any code, make sure you're synced with the master branch.
  • Create a new branch off master, and give it an informative name.
  • Commit your changes to this feature branch. Commit often so that you don't accidentally lose your progress!
  • Open a pull request (PR), give it a meaningful title and describe the changes that you made. Take note of any future improvements or any existing bugs with the changes you made. Give some steps as to how to test the changes you've made.
  • Notify others of the PR you created, and ask the relevant people to review it for you. They may leave comments and request changes, in which case you should make changes and push new commits to the same branch; the PR will update automatically!
  • Finally, when the change is approved by the reviewer, you can go ahead and merge the branch into the master branch.

Some things to watch out for when reviewing someone else's code:

  • Is the code documented? Are there comments that give details about what the code is doing?
  • Have commented-out lines of code been deleted?
  • Are your variable names clear, short, and meaningful?
  • Are your functions short and have a single purpose?
  • Are there redundancies in your code?

Dependencies & Libraries

  • Guava - a Google Library containing lots of helpful classes for Java. Most notably, immutable data structures (like ImmutableList) and EventBus, which provides a way for classes that do not have references to each other to communicate.
  • JodaTime - a library for immutable time objects, unsupported by Java 7. Includes lots of useful data structures and methods; plus, immutable objects are almost always safer when passing by reference.

Design Choices


  • All objects are presumed to not be null when passed into a method as a parameter. If an object can be null, use the annotation @Nullable.
  • Syntax:
    • Indent with tabs.
    • If a statement fits in a single line, don't use brackets at all, like so:
    if (blah)
       doSomething();
    • ClassesShouldBeNamedLikeThis, as should enums and interfaces. (upper camel case)
    • methodsShouldBeNamedLikeThis, as should non-static or non-final variables. (lower camel case)
    • STATIC_VARS_SHOULD_BE_NAMED_LIKE_THIS, as should any final variables (or variables whose values shouldn't be changed).
  • RecyclerViews are used instead of ListViews. Each RecyclerView should have a separate Adapter class and at least 1 ViewHolder class.
  • TAGs are set on the top of some classes for logging. Set up a shortcut to easily create TAGs for classes by following this article.
  • An "Event" can refer to 2 things, judging on context:
    1. An Event that will occur.
    2. Something to notify listeners of. For example, a click event.

External Documentation

Screenshots

Contributors

2020

2018

2017

  • Amanda Ong - Front-End Developer
  • Jagger Brulato - Front-End Developer
  • Qichen (Ethan) Hu - Front-End Developer
  • David Chu - Front-End Developer

​ We are a team within Cornell Design & Tech Initiative. For more information, see our website here.

About

Events Manager Android Source

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages