There’s light. It’s blue. You were asleep and don’t think anything of it at first but as you drift back into consciousness you wonder, ‘Why is it blue?’ You shield your still-adjusting eyes from the light and glance at the clock. It’s only 2:00 am. Your mind is still waking and thoughts are coming slowly. The light isn’t coming from inside the room. You throw off the covers and creep towards your window. Your rising fear is temporarily outmatched by your curiosity as you part the blinds just enough to peek out. Nobody is going to believe you. You wouldn't believe you. If only you had a way to tell everyone…
An Android Application, for the UFO community to document and share their UFO sightings. A Code Fellows 401 Java Team Project
Name | Description |
---|---|
Create Sighting | Any logged in user can create a sighting. A sighting has a pre-filled location, and time. |
Detail View of Sighting | Shows more details of a sighting, including: author of the sighting, a longer description, timestamp, location, and images--if included. |
Delete Sighting | The author of a sighting can delete any sighting they created. |
View All Sightings | Any logged in user can view a snippet of a sighting in a larger list of sightings on the main page. |
Upload An Image | When creating a sighting a user can take a photo or upload a photo to a sighting upon creation of a sighting. |
Notifications | When a sighting is created, all users will receive a notification for the sighting. |
- Go to Release Page
- The latest release is announced on top. Scroll to the bottom of the release announcement to see the downloads
- Install the OS appropriate packages.
- Move the downloaded ZIP file into your designated local directory
- Extract the ZIP file and its content into the same local directory
- Run the
app-debug.exe
file
- Run
git clone https://github.com/XSighting/XSighting-Android.git
in your terminal. - Then
cd XSighting-Android/
into the directory. - Open a new Android Studios project.
- Navigate to the directory:
XSighting-Android
. - In your application
build.gradle
file, make sure you have the following dependencies:
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
implementation 'com.google.android.material:material:1.0.0-beta01'
implementation 'com.google.firebase:firebase-core:16.0.7'
// Cloud Firestore
implementation 'com.google.firebase:firebase-firestore:18.0.0'
implementation 'com.firebaseui:firebase-ui-firestore:4.3.1'
// Google Play - Location
implementation 'com.google.android.gms:play-services-location:16.0.0'
// Firebase Authentication
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
// Firebase Cloud Storage
implementation 'com.google.firebase:firebase-storage:16.0.5'
// FirebaseUI Storage
implementation 'com.firebaseui:firebase-ui-storage:4.1.0'
// https://github.com/bumptech/glide
implementation ("com.github.bumptech.glide:glide:4.8.0") {
exclude group: "com.android.support"
}
implementation 'com.android.support:support-fragment:28.0.0'
annotationProcessor 'androidx.annotation:annotation:1.0.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
// Firebase Cloud Messaging
implementation 'com.google.firebase:firebase-messaging:17.3.4'
// Testing
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.2-alpha01'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.2-alpha01'
// Added for Espresso testing
androidTestImplementation 'com.android.support.test:rules:1.0.2'
// set up espresso
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
// include espresso-intents
androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2'
-
You also need a
google-services.json
file from firebase in theapp
folder. Make sure you put this file in your.gitignore
file!! (so this might not work because you don't have our.json
file. 🤷♀️) -
First build the application from the CLI using:
./gradlew build
. -
Run the application from the CLI using:
./gradlew bootrun
.
Android Studios, Java, Firebase Services, Google Play, Glide, Espresso Testing, Git, GitHub
- Image upload and camera permissions
- Getting images from user's gallery
- Getting image file names/paths
- Inspired by NJCrain
- Android docs - camera basic
- Android docs - requesting permissions
- Firebase upload files
- Firebase download files
- UFO Icon: Sci Fi by Alina Oleynik from the Noun Project
- Bottom Navigation Bar
- Fragments
- Fragments with Firebase
- Fragments multiple onClicks
- Firestore adapter
- Text Appearance
- Date Format
Jessica Lovell | Jeff Borda | Derrick Hwang | Evan Slaton
2/17/19 - Changed layout structure to fragments