Skip to content

Journal App is a project made during the #7DaysofCodeChallenge #AlcWithGoogle 3.0 #ALC (Andela Learning Community)

License

Notifications You must be signed in to change notification settings

khammami/journal-app

Repository files navigation

Journal App

DOI

As the name of the project state, Journal App is a journal application where the users can pen down their thoughts and feelings. it's a project proposed by ALC for the #7DaysofCodeChallenge

The app take advantage of Architecture Components and other components like: Firebase for authentication with Google and Firestore as remote database for persistence, Room library to manage local persistence and offline use.

Getting Started

You may clone or download the repo to your local machine and build your own app with Android Studio or just install the demo apk within the repo.

For Google Authentication & Firebase you need to use your own google-services.json. Here how to get yours:

You may need to include an api key in your manifest.xml for Fabric if you want or just remove it.

Firestore rules I've used:

match /databases/{database}/documents {
    match /users/{userId}/{document=**} {
      allow read, write: if request.auth.uid == userId;
    }
    
    match /users/{userId}/posts/{postId} {
      allow write: if request.resource.data.updatedAt > resource.data.updatedAt;
      allow write: if !exists(/databases/$(database)/documents/users/$(request.auth.uid)/posts/$(request.resource.data.id))
    }
  }

Screenshots

Prerequisites

  • Android Studio 3
  • ADB
  • JDK 1.7

Installing

To install the demo just go to Menu > Settings > Security > and check Unknown Sources to allow your phone to install apps from sources other than the Google Play Store and download the demo:

download the demo

Built With

Authors

  • Khalil Hammami - Initial work - khammami

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Hat tip to anyone whose code was used
  • AlcWithGoogle
  • Andela community
  • Udacity