Coder Social home page Coder Social logo

agency-fe's Issues

Client Can Create Opportunities

As a client on my dashboard, I see a button on my profile where I can add an opportunity.
The fields for this opportunity are:
title (ex "Take out Garbage")
description (ex "My partner is out of town this week and I am unable to lift my garbage and walk the bag outside.")
estimated time (ex "10 minutes")
type (ex "chore")
location* (ex "123 Maple St., Denver Co")

There will be a button at the bottom of this form to submit the information.

Volunteer Sign In Route

As a volunteer signing in on Agency, I enter my email and password, then I am routed to the dashboard.

Example Request

GET /api/v1/user
Content-Type: application/json
Accept: application/json

{
"email": "[email protected]",
"password": "password"
}
The user is returned

Example Response

status: 200
body:
{
"first_name": "Susan",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"role": 0
}
Routed to user profile
api/v1/users/:id

  • Create route
  • Tests for all of the above
  • 401 if not successful

Deploy to AWS

As a developer, I need to deploy my app to AWS so that users may easily access the site.

Client Sign In Route

Example Request

GET /api/v1/login
Content-Type: application/json
Accept: application/json

{
"email": "[email protected]",
"password": "password"
}
The user is returned

Example Response

status: 200
body:
{
"first_name": "Susan",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"role": 0
}
Routed to user profile
api/v1/users/:id

API Calls

As a developer, I need to make an apiCalls file in order to retrieve data from the backend.

Route to delete User

DELETE api/user/:id
If this endpoint is sent again with the deleted ID, a 204 code should be returned with a message of "Resource Deleted"

  • Error message created

Sign In Form

As a user, I should be able to sign-in to my account in order to navigate my settings.

I will include the following:
first name
last name
phone number
password
password confirmation

After entering the information, I will click a button to submit the form.

Client can see created Opportunities

As a client on my profile page, I should see all of the opportunities that I have created, as well as whether or not they have been fulfilled.

Sign Up Requires Unique Email

As a User, when I sign up for an account, I need to use a unique user email in order navigate through the app. If the email is taken I will receive an error that says "Please try again!", and I will need to try again.

Client can Edit an Opportunity

As a client on my dashboard, I should see next to each opportunity an option edit the information about the opportunity in order to enhance user experience.

Volunteer Dashboard page

As a volunteer on my dashboard, I see a "Welcome User" note, and several buttons
-add hours to my schedule

  • "Tasks" button
  • "About" button
  • "Team" button
  • "History" button

for available hours/ Option to make schedule

Example Request

GET /api/v1/users/:id
Content-Type: application/json
Accept: application/json

Example Response

status: 200

  • Create route
  • 400 if not successful

Thing Here.

Put your BODAAAY here...

  • check box

** Bold Stuff**

User can Edit Info

PATCH api/v1/users/:id

Example Request
status: 200
body:
{
"first_name": "Suzanna Banana",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"role": 0
}
Example Response
Status Code: 200

  • Response Code 200
  • Error code 404

Styled Components

As a developer, I should implement styled-components in order to make a lighter, easier-to-read product. This will put the styling elements in the JS file, so that as developers, we do not have to search for this information.

Reseach Websockets

Look into websockets to see if this is something we might want to use in a microservice.

Route to Create Opportunity

User is able to create an opportunity using the following attributes:
title, type, location, estimated time, description and user_id

POST '/users/user_id/opportunity'
Sample Request
{
"title": "Mop Floors",
"type": "Physical Labor",
"location": "2848 Roslyn St., Denver CO 80238",
"estimated_time": "1 hour",
"description": "Cannot wash all of my floors due to inability to stand longer than 15 minutes without extreme pain. Thanks in advance!",
"user_id": 1
}

Sample Response
status: 201
body:
{
"description": "Cannot wash all of my floors due to inability to stand longer than 15 minutes without extreme pain. Thanks in advance!",
"estimated_time": "1 hour",
"id": 3,
"location": "2848 Roslyn St., Denver CO 80238",
"title": "Mop Floors",
"type": "Physical Labor",
"user_id": 1
}

  • Error code 204

Pages for Enhancement

As a user, there should be pages in the app that I have access to when I am signed in to the app.

User Can Edit Profile

As a user, I should see in my profile a button that allows me to edit my user information, in order to enhance user experience.

Add attribute "Roles" to Users table

Re-migrate database to add roles to users.
Possible roles: "volunteers", "clients"
This will be passed in through the front end.
example JSON response:
{
"first_name": "Suzanne",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 0980980987,
"password": "password",
"role": "volunteer"
}

App's Landing Page

As a visitor opening Agency for the first time, I see a text box explaining what Agency's purpose is, and two boxes underneath each with an option:

  1. Volunteer
  2. Client

Profile

As a client, I should see my information, on my profile page to increase user experience

App has Landing Page with sign in Buttons

As a user, I should be brought to a Landing page in order to enhance my experience.

The page will have a short explanation of the app, and buttons to sign in as a "Client" or a "Volunteer"

Return All Opportunities for a Single User

User is able to see all opportunities for that user.

GET '/users/user_id/opportunities'

Sample Response
status: 200
body:
[
{
"description": "Wash windows- I need someone to come in and wash the windows at the top of my house.",
"estimated_time": "1 hr",
"id": 1,
"location": "2848 Roslyn St., Denver CO 80238",
"title": "Rake Leaves",
"type": "Physical Labor",
"user_id": 1
},
{
"description": "I cannot rake my yard- I need someone to come in and get the front and back yard.",
"estimated_time": "1 hr",
"id": 2,
"location": "2848 Roslyn St., Denver CO 80238",
"title": "Rake Leaves",
"type": "Physical Labor",
"user_id": 1
},
{
"description": "Cannot wash all of my floors due to inability to stand longer than 15 minutes without extreme pain. Thanks in advance!",
"estimated_time": "1 hour",
"id": 3,
"location": "2848 Roslyn St., Denver CO 80238",
"title": "Mop Floors",
"type": "Physical Labor",
"user_id": 1
}
]

  • Returns 200
  • Sad path returns 404 not found

Convert Media queries into the styled components

As a user, I should be able to see media queries work on a phone screen.
A user wouldn't necessarily know that it is in a styled components format but ๐Ÿคท๐Ÿผโ€โ™‚๏ธ

Route to Edit User info

User can edit info:

Example Request

patch '/users/id/opportunities/1'

{
description: "Rake and bag leaves from front yard"
}

Example Response

Content-Type: application/json
Accept: application/json
status: 200
body:
{
description: "Rake and bag leaves from front yard"
}

  • 400 if not successful

Finish README's

Githubs for whole team
how to get it up and running
how to run test suite
endpoints for backend

Route to create User

User can create account:

Example Request

POST /api/v1/users
Content-Type: application/json
Accept: application/json

{
"first_name": "Susan",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"password": "password"
"role": 0
}

( 0 = volunteer, 1 = client)

The user is returned

Example Response

status: 201
body:

{
"first_name": "Susan",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"role": 0
}

  • Create route
  • Validate uniqueness by email
  • Send properly formatted JSON response
  • 400 if not successful

PWA

The app should have a registered service worker so that the page can hold data and have a build for PWA environment

Returns Opportunities for single User

Route returns one opportunity belonging to single user.

GET '/users/user_id/opportunity/id'

Sample Response
status: 200
body:

{
"description": "Wash windows- I need someone to come in and wash the windows at the top of my house.",
"estimated_time": "1 hr",
"id": 1,
"location": "2848 Roslyn St., Denver CO 80238",
"title": "Rake Leaves",
"type": "Physical Labor",
"user_id": 1
....
}

  • Returns 200
  • Sad Path Returns 404 error

Delete a User returns 204

DELETE api/user/:id
If this endpoint is sent again with the deleted ID, a 204 code should be returned with a message of "Resource Deleted"

  • Error message created

Complete Media Queries

Add media queries to application so the application will adjust accordingly whether on the phone or computer so a user can have a better experience

Client Sign Up - Account Verification

As an unregistered client (someone who is in need of assistance) when I visit the root page, I see a text description explaining the purpose of Agency. Underneath the description of Agency I see a button 'Client'. When I click 'Client' I'm directed to a sign-in form where I see a button to Sign Up.

When I click 'Sign Up' I'm directed to a form where I see fields to enter my name, email, phone number, password and password confirmation.

Once those fields are entered with valid information, I see a button to 'Verify my Account'. Once I click 'Verify My Account' I am taken to a new page where I see a field to enter a verification code that is sent to my phone and a Submit Button. Once I enter a valid verification code, and click 'Submit' I am taken to my Dashboard

Client can Delete Opportunity

As a client, I should see a button next to each opportunity that allows me to delete an opportunity from my profile page. After I click on the delete button, the opportunity will disappear from my view.

Route to return single user

Return single user by id:

Example Request

get '/users/id'

Example Response

Content-Type: application/json
Accept: application/json
status: 200
body:

{
"first_name": "Susan",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"password": "password"
"role": 0
}

( 0 = volunteer, 1 = client)

The user is returned

  • Validate uniqueness by email
  • 400 if not successful

Route to return all Users

Return all created users:

Example Request

get '/users'

Example Response

Content-Type: application/json
Accept: application/json
status: 200
body:

[{
"first_name": "Susan",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"password": "password"
"role": 0
},
{
"first_name": "Joanne",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"password": "password"
"role": 0
},
{
"first_name": "bob",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
"password": "password"
"role": 0
}]

( 0 = volunteer, 1 = client)

The user is returned

  • 400 if not successful

User Prompt

As a user, I would like to know that I am able to add the application to my device. This will give me easier access to the application

Route to Edit Opportunity info

User can edit info:

Example Request

patch '/users/id'

{
"first_name": "Suzanna",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
}

Example Response

Content-Type: application/json
Accept: application/json
status: 200
body:
{
"first_name": "Suzanna",
"last_name": "Person",
"email": "[email protected]",
"phone_number": 3031234567
}

  • 400 if not successful

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.