Giter Club home page Giter Club logo

lumina's People

Contributors

plandsman11 avatar skylerdee3 avatar tpanyasr avatar vee-guz avatar vincentpheng avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

lumina's Issues

[FE] Add new announcement (mobile + desktop)

[FE] Color code schedule page

Currently, schedule only has 1 color for shifts, and all types of volunteers are added up together (e.g. 2/2 for a full shift). There are 2 changes that will need to be made.

  1. Color code based on type of volunteers. Instead of having 1 block of blue for a shift, we want many blocks of different colors for all shifts in one day.
    Primary - yellow
    Backup - green
    Accompaniment - pink
    2nd backup - blue
  2. Add up number based on type of volunteers. Let's say there are 2 shifts on May 19th, 2021, each with a primary, a backup, and a 2nd backup. We want the schedule to display 3 blocks of yellow, green, and blue, each with #/2 volunteers.

Grab list of all users from Amplify

For both the calendar and the directory, we need access to all users currently stored within Amplify. Currently the users shown are faked using faker.js but their layout and how the final result should look identical

Send Verification Code Email

This happens when user clicks "Submit" email on the Forgot Password page. You can use AWS Amplify for this!

The email should say something like
"Hi {firstname}
Here's your verification code to reset your email..."
It's up to you really :) as long as it looks nice and is easy to understand!

https://www.figma.com/file/cN9xGpLOjwApmLoQXTgkqB/H4I%3A-Stand-Strong-%2B-RISE-Crisis-Line-Volunteer-Management-App?node-id=344%3A5455
https://www.figma.com/file/cN9xGpLOjwApmLoQXTgkqB/H4I%3A-Stand-Strong-%2B-RISE-Crisis-Line-Volunteer-Management-App?node-id=344%3A5491

Reference: https://serverless-stack.com/chapters/handle-forgot-and-reset-password.html

[FE + BE] Change Password (Forgot + Reset)

[FE] Read more and edit announcement

  1. When you click "Read more", looks like mockup
    https://www.figma.com/file/cN9xGpLOjwApmLoQXTgkqB/H4I%3A-Stand-Strong-%2B-RISE-Crisis-Line-Volunteer-Management-App?node-id=694%3A3518
  2. Unfortunately, there are no mockups for the editing part... but use your best judgment ๐Ÿ‘
    Add an "edit" button to the page in the mockup above, at the top of page. Please coordinate with whoever's working on the "pin and delete announcement" task, as there will also be "delete" and "pin" buttons.
    On click, directs to this page (which Michelle is working on, so you might also want to coordinate with her)
    https://www.figma.com/file/cN9xGpLOjwApmLoQXTgkqB/H4I%3A-Stand-Strong-%2B-RISE-Crisis-Line-Volunteer-Management-App?node-id=694%3A3518

Should look good on both mobile and desktop.

[BE] Create Shift

  • Create model for shifts in amplify
  • When 'Create New Shift' is clicked, a new shift should be added
  • Properties: start datetime (GMT-7), end datetime, primary (optional), backup (optional), accompaniment (optional), second backup (optional)
    The last 4 properties should be linked to the volunteers model (as displayed in Directory), but no need to do that yet. As long as you can add new shifts with properties onClick, it will be good!

Log In Page

Log in page has main components:

  • email field
  • password field
  • submit button

Optional

  • forgot password link
  • create account link

[FE] Forgot Password Page(s)

Forgot Password Page 1: email

Forgot Password Page 2: enter code

Signup

Convert the current Sign up experience to be more mobile friendly.
This means:

  • All buttons and fields are easily usable through a touch interface
  • Everything on the page scales correctly
  • Bringing up the virtual keyboard should not break or shift any components

This task is a lot more open ended than the others because we are relying on your best judgement on whether or not a specific change is mobile friendly, though please reach out if you're ever unsure about a certain change.

See: https://chakra-ui.com/docs/styled-system/responsive-styles

Create new Amplify user

After a user signs up with the required information from the sign up form, create the user in Amplify and show them a temporary page that tells them to come back later after their account has been verified.

See: https://docs.amplify.aws/lib/auth/emailpassword/q/platform/js/#sign-up

EXTRA: Add relevant error messages when certain fields are given invalid data, i.e. "Invalid phone number", "Invalid email", "Email is already in use", etc.

[BE] Create announcement

  • Add model for announcements in amplify
  • When publish announcements is clicked, a new announcement should be added to model

[BE + FE] Display error user already exists on SignUp

A little bit of backend (amplify) and frontend task.
When a user signs up with an email that is already in the database, Auth.signUp would return UsernameExistsException error. Maybe mess around with the try/catch block in Signup.js, or add a const in isValidForm?

As long as the error is displayed (like how "Password and Confirm Password must be the same" is displayed), you'll be good!

[FE] Pin and delete announcement

Unfortunately, there are no mockups for this task.. but use your best judgment ๐Ÿ‘

  1. Add a "delete" button to the page in the mockup above, at the top of the page. Please coordinate with whoever's working on the "read more and edit" task, as there will also be an "edit" button.
  2. Add a "pin" button, same as above.

Should look good on both mobile and desktop.

[BE] Display info on Directory and Profile pages

Display appropriate info on the contact cards (directory page) and profile page, based on the data model "Users" deployed on Amplify.
A new contact card should be added when a new user is created (new sign up).
Populate the top of the Profile Page using the signed-in user's info.
https://www.figma.com/file/cN9xGpLOjwApmLoQXTgkqB/H4I%3A-Stand-Strong-%2B-RISE-Crisis-Line-Volunteer-Management-App?node-id=361%3A5519
https://www.figma.com/file/cN9xGpLOjwApmLoQXTgkqB/H4I%3A-Stand-Strong-%2B-RISE-Crisis-Line-Volunteer-Management-App?node-id=859%3A8609

[FE] Create announcement

Login

Convert the current Login experience to be more mobile friendly.
This means:

  • All buttons and fields are easily usable through a touch interface
  • Everything on the page scales correctly
  • Bringing up the virtual keyboard should not break or shift any components

This task is a lot more open ended than the others because we are relying on your best judgement on whether or not a specific change is mobile friendly, though please reach out if you're ever unsure about a certain change.

See: https://chakra-ui.com/docs/styled-system/responsive-styles

Authenticate on login

When a user provides valid account credentials, sign the user in and redirect them to '/home'. This should also automatically support login persistence (user isn't logged out when they refresh the page).

See:
https://adhyan.space/user-authentication-amplify
https://docs.amplify.aws/lib/auth/emailpassword/q/platform/js/#sign-in
https://docs.amplify.aws/lib/auth/manageusers/q/platform/js/#retrieve-current-authenticated-user

EXTRA: Add relevant error messages when user doesn't provide valid credentials or unknown errors (i.e. "Invalid username/password", "There was an error signing you in, please try again", etc.)

[Documentation] Chakra UI

Currently I'm the only team member with experience on our new CSS framework, Chakra UI.

To assist other members with onboarding ASAP to Chakra UI, I'll include a section in the README on some basics about Chakra UI (i.e. what it is, what changes we have to make, what we can do, why it's beneficial vs raw CSS, etc.) and link some more resources on more advanced things that Chakra UI let us do (i.e. theme extension)

[BE] Create user

  • Create user when "Register" button on sign up page is clicked
  • Field include all input + isAdmin +isStaff
    Note:
    There are 3 types of users, Admin, Staff, and Volunteer. Staff and Volunteer are almost identical functionality-wise, except for shift sign up (will be discussed later).

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.