Skip to content

Instantly share code, notes, and snippets.

@seahyc
Last active December 12, 2021 14:47
Show Gist options
  • Save seahyc/a937011e576bc32fe1b54ea8ab8cf52f to your computer and use it in GitHub Desktop.
Save seahyc/a937011e576bc32fe1b54ea8ab8cf52f to your computer and use it in GitHub Desktop.
Added requirements for local testing instructions

Simple Twitter App

Implement a simple Twitter app using Firebase Auth and Cloud Firestore.

On first launch, the app lets users sign in with Firebase using email and password. (Note: avoid Google SSO to ease local testing)

After sign in, the app shows a page where the user can:

  • Type in a tweet with 280 characters limit
  • Save this along with the current time into Firestore
  • View a list of all tweets by all users, sorted by most recent date
  • The app should update in realtime when the data changes on Firestore.

Bonus features:

  • Edit a tweet written by the author
  • Delete tweets written by the author
  • Sign-out functionality

Notes:

  • Flutter is preferred, it's what we use at Glints
  • When building the UI and navigating between screens, optimise for usability
  • Would be good to add some key tests, and the final code should be testable.

If some requirements appear to be vague or lack sufficient details, make assumptions based on your own judgment.

The assignment will be evaluated according to the following criteria:

  • The app works and satisfies the requirements outlined above
  • General project structure and organization of code
  • Separation of concerns between UI, authentication, database code
  • Simplicity - we don't require an over-engineered solution
  • Naming conventions for variables, functions and classes

The expected duration of this assignment is 1 - 2 days.

Submission

Share the github repo with seahyc. On the README, attach a screenflow of the core user flows, as well as instructions to run the app on local machines using emulators.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment