Giter Site home page Giter Site logo

story-app's Introduction

story-app

Dicoding Android development intermediate submission

story-app's People

Contributors

rekyb avatar

Watchers

 avatar

story-app's Issues

[PRD] Story App

Context

There is a need to create a simple story app to pass the Dicoding Intermediate Android Development course. The app will consume API provided by Dicoding and have similar features to Instagram Story.

Supporting documentation

Objectives

  • Submission 01:
    • Created the following features:
      • Auth
      • Story List
      • Add or upload the story
      • Localization
    • Got at least three stars rating from the Dicoding Reviewer
  • Submission 02:
    • TBA

Success Criteria

  • Deliver the app (submissions 01 and 02) before 31/10/2022
  • Got at least four stars rating from the Dicoding Reviewer for both submissions
  • Be the first 300 participants to finish the project

Submission 01 Requirements

Must-have features

Items Acceptance Criteria
Auth - Login * A screen for login with the following text fields: email & password
* Need a button to proceed with the login session
* The password field must be hidden
* Minimum text length for the password is six characters
* Need to utilize the CustomView for both fields
* Need to utilize the DataStore library to handle the session
Auth - Register * A screen for registering the new account with the following text fields: name, email, and password
* Need a button to proceed with the registration session
* The password field must be hidden
* Minimum text length for the password is six characters
* Need to utilize the CustomView for all of the text fields
* Automatically login to the app after the registration is completed
Auth - Logout * Need a logout button to end the session on the Story List screen
* When the user taps the button, the credentials must be purged
Story List * Need to utilize Recyclerview to create a list with the following information: user name and photo
* When the user taps an item on the list, they will be redirected to the details screen
Details Screen * A screen to show the user's detailed information. This screen needs the following elements: user name, photo, and short description
Animations * Need to add animation to the UI elements
Add New Story * The user can upload a new image for the story directly from the camera or gallery
* The user may see the preview of the image/story
* The user may add a short description to the story
* Need a button to proceed with the upload
* When the user successfully upload the story, direct the user to the Story List

Should have features

Items Acceptance Criteria
Text Field CustomView * The field needs to detect if the inputs are correct or not (eg: checking the email format)
* The field must show the information/message if an error is occurring
* Need to add a feature to take peek on the password
* Need to add a feature to clear the text field
Status Indicators * Showing the loading state with CicrcleAnimation
* Show the user error notification if something went wrong
* Show the user information if there is no data found

Nice to have features

Items Acceptance Criteria
Localization Need to add localization for the following languages: Bahasa, French, and German
Search Story Ability to search the story based on the user name
Stack Widget Ability to show story list on the stack widget

Wireframes and User Flow

User flow

Wireframes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.