Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 209 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
2679260
Setting up GitHub Classroom Feedback
github-classroom[bot] Feb 18, 2022
3ceb760
updated readme
keyaneealexandre Feb 26, 2022
4d8d414
updated readme
keyaneealexandre Feb 26, 2022
bf0cece
Contributing done by Rachel
keyaneealexandre Feb 27, 2022
8adcd8f
UX-DESIGN stuff done
keyaneealexandre Feb 28, 2022
a8ee8ed
UX-DESIGN stuff done
keyaneealexandre Feb 28, 2022
6355dc4
UX-DESIGN md edit
keyaneealexandre Feb 28, 2022
763f14d
added Shrankhla to contributors in ReadMe
keyaneealexandre Feb 28, 2022
c3bcde4
react setup
keyaneealexandre Mar 2, 2022
60e70b6
pages setUp with header. need to make some edits to header
keyaneealexandre Mar 3, 2022
a2cb0b4
pages setUp with header. need to make some edits to header
keyaneealexandre Mar 4, 2022
b3f955d
pages setUp with header. need to make some edits to header
keyaneealexandre Mar 4, 2022
5bc0825
Merge pull request #33 from keyaneealexandre/pageSetUps
keyaneealexandre Mar 4, 2022
79a517b
Set up Subpages
keyaneealexandre Mar 4, 2022
30e0172
Merge pull request #34 from keyaneealexandre/pageSetUps
keyaneealexandre Mar 4, 2022
bd40cfe
Added material ui package and created Card component
rkindangen Mar 5, 2022
26922d8
Did FAQ Header
keyaneealexandre Mar 6, 2022
adad3e8
Edited profile page, added profile image to assets folder
rkindangen Mar 6, 2022
82c11c0
Working on FAQ
keyaneealexandre Mar 7, 2022
7b10ddf
Working on FAQ
keyaneealexandre Mar 7, 2022
444aa6d
Merge pull request #35 from software-assignments-spring2022/dev
rkindangen Mar 8, 2022
81ed23d
adding Rachel's changes
keyaneealexandre Mar 8, 2022
5434183
adding Rachel's changes
keyaneealexandre Mar 8, 2022
dc3c831
added all FAQ info just needs more styling
keyaneealexandre Mar 8, 2022
8edab10
Fixed accordion style
keyaneealexandre Mar 8, 2022
5623ad4
changed styling for profile card & added content to profile
rkindangen Mar 8, 2022
43588f8
finished FAQ page
keyaneealexandre Mar 9, 2022
3232d40
fixing the headers and content for the other pages
keyaneealexandre Mar 9, 2022
20c30b9
added sectioning, scrolling, and donation eligibility data
keyaneealexandre Mar 9, 2022
6cd440b
Merge pull request #37 from software-assignments-spring2022/dev
rkindangen Mar 10, 2022
c0012eb
adding cards on eligibility page
keyaneealexandre Mar 11, 2022
2c1adec
resolve conflicts
keyaneealexandre Mar 11, 2022
5bae19c
Merge pull request #38 from keyaneealexandre/FAQPageInfo
keyaneealexandre Mar 11, 2022
ba12463
resolving conflicts
keyaneealexandre Mar 11, 2022
ff100d0
Merge branch 'master' of https://github.com/keyaneealexandre/final-pr…
keyaneealexandre Mar 11, 2022
25572c4
Almost done with eligibility page, added basic eligibility info for e…
keyaneealexandre Mar 11, 2022
c97466c
ADD styles folder, CNG donation elig pages
ampahwa Mar 11, 2022
299fdff
Merge pull request #39 from ampahwa/devtest
ampahwa Mar 11, 2022
a25fd11
adding additional avaiablility info
keyaneealexandre Mar 11, 2022
416f915
resolving conflicts
keyaneealexandre Mar 11, 2022
5951299
added create account button to header, added create account form
rkindangen Mar 11, 2022
d903565
Delete Input.js
rkindangen Mar 11, 2022
d2cfa59
completed Eligibility page and fixed header
keyaneealexandre Mar 12, 2022
23c6726
add create account buttonto header, added create account form
rkindangen Mar 12, 2022
1f49e2c
resolving conflicts
rkindangen Mar 12, 2022
77d2b08
making create account form appear
rkindangen Mar 12, 2022
7e95a4a
tried to fix some of the warnings in inspector, but Can't, bit everyt…
keyaneealexandre Mar 17, 2022
0cb58db
Merge branch 'software-assignments-spring2022:master' into eligibilit…
keyaneealexandre Mar 17, 2022
bba1127
editing body
keyaneealexandre Mar 17, 2022
fb30b8a
Merge pull request #42 from keyaneealexandre/eligibilityPage
keyaneealexandre Mar 18, 2022
39e6582
Merge remote-tracking branch 'origin/master' into Overlays
keyaneealexandre Mar 18, 2022
5227813
Updated home content, contact us
ELENA0206 Mar 18, 2022
a26f8c4
Merge pull request #44 from ELENA0206/master
ELENA0206 Mar 19, 2022
ec1c185
got overlays workin gnow add questions
keyaneealexandre Mar 19, 2022
f89f332
got overlays workin gnow add questions
keyaneealexandre Mar 19, 2022
526e68a
resolve conflicts
keyaneealexandre Mar 19, 2022
c115b1a
updating from recent pull request
keyaneealexandre Mar 19, 2022
4eddde1
login and create account overlays complete
keyaneealexandre Mar 19, 2022
f9abda0
added sectioning, scrolling, and donation eligibility data
keyaneealexandre Mar 9, 2022
21c059f
adding cards on eligibility page
keyaneealexandre Mar 11, 2022
bb06b50
Almost done with eligibility page, added basic eligibility info for e…
keyaneealexandre Mar 11, 2022
f6ea5ef
adding additional avaiablility info
keyaneealexandre Mar 11, 2022
c664db9
completed Eligibility page and fixed header
keyaneealexandre Mar 12, 2022
44222d0
tried to fix some of the warnings in inspector, but Can't, bit everyt…
keyaneealexandre Mar 17, 2022
a1c0f6d
Add layout to home page and some content
rkindangen Mar 18, 2022
acb4bca
add content and styling changes to home
rkindangen Mar 19, 2022
af4a6dd
Update index.js
rkindangen Mar 19, 2022
c015259
resolving conflicts
rkindangen Mar 19, 2022
fdae248
added content and styling changes to home
rkindangen Mar 19, 2022
9298473
changing margin of header
rkindangen Mar 19, 2022
ce5d15d
Merge branch 'master' into dev
rkindangen Mar 19, 2022
6b552ba
have to fix small bugs related to extra info and gpong back and showi…
keyaneealexandre Mar 20, 2022
51baa81
have to fix small bugs related to extra info and gpong back
keyaneealexandre Mar 20, 2022
bef956e
have to fix small bugs related to extra info and gpong back
keyaneealexandre Mar 20, 2022
fdd3b11
ADD data on eligibility pages
ampahwa Mar 21, 2022
5b6d91b
overlays complete
keyaneealexandre Mar 21, 2022
fd9f107
Merge pull request #46 from ampahwa/master
ampahwa Mar 21, 2022
4f8e04b
Merge branch 'master' of https://github.com/keyaneealexandre/final-pr…
keyaneealexandre Mar 21, 2022
d4d0901
updated from merge and rename file adn fixed link on eligibility page
keyaneealexandre Mar 21, 2022
3f01178
Merge pull request #47 from keyaneealexandre/Overlays
keyaneealexandre Mar 21, 2022
ad46f0a
created LogIn
keyaneealexandre Mar 23, 2022
c514299
added LogIn form
keyaneealexandre Mar 24, 2022
4d01b3d
back-end setup
keyaneealexandre Mar 25, 2022
c37be9a
Merge pull request #56 from keyaneealexandre/BackEndSetUp
keyaneealexandre Mar 25, 2022
ff72602
set up eslinting and prettier and formatted the code in all files to …
keyaneealexandre Mar 26, 2022
73af840
adding dpendencies for unit testing
keyaneealexandre Mar 28, 2022
609881d
Map,Donated Blood info
shrankhla1234 Mar 29, 2022
63b130f
New
shrankhla1234 Mar 29, 2022
dd4ba84
Merge pull request #57 from keyaneealexandre/ESLintSetUp
keyaneealexandre Mar 29, 2022
5fbe2f9
ADD user.js
ampahwa Mar 30, 2022
989a9fb
CHG user.js to include age and eligible array
ampahwa Mar 30, 2022
05ab79c
Merge pull request #59 from software-assignments-spring2022/Map
shrankhla1234 Mar 30, 2022
0d7e57c
Merge pull request #58 from ampahwa/master
ampahwa Mar 30, 2022
15aff23
add routes for login and create account
rkindangen Apr 1, 2022
791389e
Merge remote-tracking branch 'origin/dev' into dev
rkindangen Apr 1, 2022
d47e625
Merge pull request #45 from software-assignments-spring2022/dev
rkindangen Apr 4, 2022
1b604dd
making progress on eligibility questionnaire
keyaneealexandre Apr 4, 2022
8559452
Account creation and login tests
ELENA0206 Apr 4, 2022
eb431fd
Merge pull request #62 from ELENA0206/master
ELENA0206 Apr 4, 2022
4254a79
eligibility questionnaire complete, also added some comments in other…
keyaneealexandre Apr 5, 2022
b3b2d8c
fixing login button
keyaneealexandre Apr 5, 2022
6e46d5c
small bug fixes
keyaneealexandre Apr 5, 2022
cbd427d
Merge pull request #63 from keyaneealexandre/eligibilityQuestionnaire
keyaneealexandre Apr 5, 2022
e316c55
Adding content to home page
rkindangen Apr 6, 2022
b151715
resolving conflicts
rkindangen Apr 6, 2022
eb3d920
styling changes to images
rkindangen Apr 6, 2022
805f299
Merge pull request #71 from software-assignments-spring2022/dev
rkindangen Apr 6, 2022
2704706
set up database in mongoDB Atlas and fix app and server, they needed …
keyaneealexandre Apr 6, 2022
aa36ab8
fixed test
keyaneealexandre Apr 7, 2022
a1337ac
added one more test case
keyaneealexandre Apr 7, 2022
559a1a7
Merge pull request #72 from keyaneealexandre/databaseCreation
keyaneealexandre Apr 7, 2022
2cd75b4
create user and saved to database
keyaneealexandre Apr 7, 2022
54b8c09
fixed backend
keyaneealexandre Apr 8, 2022
4083de5
back-end switch done
keyaneealexandre Apr 9, 2022
0c143fb
Merge pull request #73 from keyaneealexandre/fixBackEnd
keyaneealexandre Apr 9, 2022
940d196
almost done with user auth
keyaneealexandre Apr 9, 2022
d6302bc
user auth complete
keyaneealexandre Apr 10, 2022
c0cf279
create account check almost done
keyaneealexandre Apr 10, 2022
fd0c450
All done
keyaneealexandre Apr 10, 2022
c8173ea
Merge pull request #74 from keyaneealexandre/userAuthSetUp
keyaneealexandre Apr 10, 2022
9e8480c
updated unit tests
keyaneealexandre Apr 11, 2022
10781e3
Merge pull request #75 from keyaneealexandre/updatedUnitTests
keyaneealexandre Apr 11, 2022
ac552c4
CHG passwords to be hashed
ampahwa Apr 11, 2022
c4ebdb2
Merge branch 'master' into master
ampahwa Apr 11, 2022
fe263ba
Merge pull request #76 from ampahwa/master
ampahwa Apr 11, 2022
745f07f
uncommented line to check hashed password
keyaneealexandre Apr 12, 2022
7bfeda0
fixed user useState
rkindangen Apr 12, 2022
01d4b0d
Merge remote-tracking branch 'origin' into dev
rkindangen Apr 12, 2022
d086085
Merge pull request #77 from keyaneealexandre/smallHashFix
keyaneealexandre Apr 12, 2022
a51b7f0
Adding profile form
rkindangen Apr 13, 2022
e7e89fd
Merge remote-tracking branch 'origin' into dev
rkindangen Apr 13, 2022
f85c06c
add params to route
rkindangen Apr 13, 2022
4a53f55
adding inital user data to form
rkindangen Apr 13, 2022
7c17934
got the login working from map now need to do create
keyaneealexandre Apr 14, 2022
1fe2e93
working on saving the new user eligibility info
keyaneealexandre Apr 14, 2022
68e10be
circleci setup
keyaneealexandre Apr 14, 2022
0a7e158
almost got info saved
keyaneealexandre Apr 14, 2022
850a838
done with auths
keyaneealexandre Apr 15, 2022
f34df1f
add edit profile post function
rkindangen Apr 15, 2022
175b179
editing profile form styling
rkindangen Apr 15, 2022
5764928
Edit profile page
rkindangen Apr 15, 2022
f77cc2d
attempting to get FAQData
keyaneealexandre Apr 15, 2022
5d24a25
got FAQData
keyaneealexandre Apr 16, 2022
cb0fdd2
adding model schemea
keyaneealexandre Apr 16, 2022
a3ef230
loaded all eligibility data from db
keyaneealexandre Apr 17, 2022
4101b37
setting up questions from db
keyaneealexandre Apr 17, 2022
42defa7
Merge pull request #79 from software-assignments-spring2022/dev
rkindangen Apr 17, 2022
8cfba64
Merge pull request #78 from keyaneealexandre/overlayAuth
keyaneealexandre Apr 17, 2022
2bebaec
complete
keyaneealexandre Apr 17, 2022
03ea587
Merge remote-tracking branch 'origin/master' into getInfoFromDB
keyaneealexandre Apr 17, 2022
b2df6c3
complete
keyaneealexandre Apr 17, 2022
00ef03a
Updated Logout Page
ELENA0206 Apr 17, 2022
052d83e
Merge pull request #82 from ELENA0206/master
ELENA0206 Apr 18, 2022
2586057
Merge pull request #81 from keyaneealexandre/circleci
keyaneealexandre Apr 18, 2022
a6b6136
Merge pull request #80 from keyaneealexandre/getInfoFromDB
keyaneealexandre Apr 18, 2022
0753d29
fix
keyaneealexandre Apr 18, 2022
6d8141d
Merge pull request #84 from keyaneealexandre/fixing
keyaneealexandre Apr 18, 2022
0dcb8ae
fix
keyaneealexandre Apr 18, 2022
eed764b
token mock
keyaneealexandre Apr 18, 2022
1d76aed
token mock
keyaneealexandre Apr 18, 2022
68224b0
testing something
keyaneealexandre Apr 18, 2022
24bce0b
testing something
keyaneealexandre Apr 18, 2022
28316e6
testing key
keyaneealexandre Apr 18, 2022
6f14c82
fix promise
keyaneealexandre Apr 18, 2022
5acd759
fix promise
keyaneealexandre Apr 18, 2022
ee0f91d
fix promise
keyaneealexandre Apr 18, 2022
1ef5e43
fix promise
keyaneealexandre Apr 18, 2022
814801b
fix timeout
keyaneealexandre Apr 18, 2022
3ab8b98
fix timeout
keyaneealexandre Apr 18, 2022
9bc83fe
fix timeout
keyaneealexandre Apr 18, 2022
05a4dd2
fixed
keyaneealexandre Apr 18, 2022
701b817
Merge pull request #85 from keyaneealexandre/fixingAgain
keyaneealexandre Apr 20, 2022
d810f59
CHG homepage adding info and link
ampahwa Apr 22, 2022
ccdda9c
Merge pull request #87 from ampahwa/master
ampahwa Apr 22, 2022
01850d2
adding morgan
keyaneealexandre Apr 25, 2022
e62fa7e
got map up and running
keyaneealexandre Apr 26, 2022
eca2c24
fixed env
keyaneealexandre Apr 26, 2022
8ee7654
changed map style and can now search
keyaneealexandre Apr 27, 2022
b67848a
just have to list out closest sites
keyaneealexandre Apr 27, 2022
4838339
Update README.md
shrankhla1234 Apr 27, 2022
4028ea4
Update README.md
shrankhla1234 Apr 27, 2022
f8b5430
Update InformationForTeens.js
shrankhla1234 Apr 27, 2022
34e57bb
Update README.md
shrankhla1234 Apr 27, 2022
67fe415
Create TESTING.md
shrankhla1234 Apr 27, 2022
9da7364
updated info for teenagers
shrankhla1234 Apr 27, 2022
a6cce5b
Information about donated blood
shrankhla1234 Apr 27, 2022
249cbad
Update TESTING.md
shrankhla1234 Apr 27, 2022
d190437
Moving circleci badge to top
keyaneealexandre Apr 28, 2022
938d852
Merge branch 'software-assignments-spring2022:master' into master
keyaneealexandre Apr 28, 2022
b71a51d
done with map
keyaneealexandre Apr 28, 2022
3a896ca
change login btn to logout on auth
ELENA0206 Apr 29, 2022
a96210c
Merge branch 'master' into logout-in-profile
ELENA0206 Apr 29, 2022
3024a1e
Merge pull request #90 from keyaneealexandre/map
keyaneealexandre Apr 29, 2022
cfcf971
Merge branch 'master' into master
keyaneealexandre Apr 29, 2022
c79b755
q1uick fix
keyaneealexandre Apr 29, 2022
e54c529
Merge pull request #92 from keyaneealexandre/apiKeyFix
keyaneealexandre Apr 29, 2022
6cde112
fix merge conflict
ELENA0206 Apr 30, 2022
06a364c
Merge pull request #91 from ELENA0206/logout-in-profile
ELENA0206 May 1, 2022
aa41742
ADD other ways to help
ampahwa May 1, 2022
3f31929
Merge pull request #94 from ampahwa/master
ampahwa May 1, 2022
f2a2c31
Small update for building
shrankhla1234 May 1, 2022
8ca8c70
Create BUILDING.md
shrankhla1234 May 1, 2022
a42d24a
Merge pull request #95 from software-assignments-spring2022/building-…
shrankhla1234 May 1, 2022
cfc5f81
Update TESTING.md
shrankhla1234 May 1, 2022
700d329
Elena's header change that was deletd
keyaneealexandre May 1, 2022
a360da0
Merge pull request #96 from keyaneealexandre/headerFix
keyaneealexandre May 1, 2022
f8fb8c6
Update README.md
keyaneealexandre May 2, 2022
3d52fe0
Update README.md
keyaneealexandre May 2, 2022
9e3d5f7
Update README.md
keyaneealexandre May 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,7 @@ typings/

## Jekyll artifacts
**/.jekyll-cache
**/_site/
**/_site/

## Yarn lock
yarn.lock
21 changes: 21 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Building and Launching the product

## Build and Launch the the Back end

**Initial Setup**

- Clone the repository onto your local machine with **git clone**

## Build and launch the Back end

- Navigate into the **back-end** directory
- Run **npm install** to install all the dependencies listed in the **package.json** file.
- Run **npm start** after building to launch the back-end server.
- The site will be available to access through **localhost:3000**

## Build and launch the front end

- Navigate into the **front-end** directory.
- Run **npm-install** to install all the dependecies in the **package.json**.
- Run **npm start** to launch the React.js server, or build with **npm run build**
- The Access to the site will be available through the browser **localhost:3000**
16 changes: 15 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
# Guide to Contributing
Delete the contents of this file and replace with the contents of a proper guide to contributing to this project, as described in the [instructions](./instructions.md)
## Team Norms

**Our Standards**
Our team aims to foster an open and welcoming environment, where every individual feels comfortable participating in
Examples of behavior that contributes to creating a positive environment include:
- Be respectful of different viewpoints
- Be empathetic towards each other
- Openly communicate and resolve any issues between teammates

## Git Workflow
**Pull Request Process**
- All pull requests should be sent to the "develop" branch
- The "develop" branch is where the version planned for release after a sprint will be stored
- Pull requests should **only contain one change**; If you have multiple changes to submit, submit changes into their own branch on your fork
- You may merge the pull request after you have a sign-off from two other developers
49 changes: 39 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,48 @@
# Project Repository
[![CircleCI](https://circleci.com/gh/software-assignments-spring2022/final-project-blooddonation/tree/master.svg?style=shield)](https://circleci.com/gh/software-assignments-spring2022/final-project-blooddonation/tree/master)

This repository will be used for team projects.
# Blood Donation

Several sets of instructions are included in this repository. They should each be treated as separate assignments with their own due dates and sets of requirements.
- http://142.93.246.192:4000/
- [Presentation Slides](https://docs.google.com/presentation/d/1UEARUPQDFrGnPMcGVSJ3nsk2RQWTkuOM0XINxeT-a8A/edit#slide=id.p)

1. See the [App Map & Wireframes](instructions-0a-app-map-wireframes.md) and [Prototyping](./instructions-0b-prototyping.md) instructions for the requirements of the initial user experience design of the app.
### Contributors

1. Delete the contents of this file and replace with the contents of a proper README.md, as described in the [project setup instructions](./instructions-0c-project-setup.md)
- [Keyanee Alexandre](https://github.com/keyaneealexandre)
- [Rachel Kindangen](https://github.com/rkindangen)
- [Joshua Plattner](https://github.com/jplattner73)
- [Elena Wang](https://github.com/ELENA0206)
- [Aaron Pahwa](https://github.com/ampahwa)
- [Shrankhla Chand](https://github.com/shrankhla1234)

1. See the [Sprint Planning instructions](instructions-0d-sprint-planning.md) for the requirements of Sprint Planning for each Sprint.
### Product Vision Statement

1. See the [Front-End Development instructions](./instructions-1-front-end.md) for the requirements of the initial Front-End Development.
People use apps and websites to connect with others, find furniture, restaurants, clothes, and other things that they need. The same technology can be used to create a centralized place to find blood donation centers in the NYC area to help stop the shortage.

1. See the [Back-End Development instructions](./instructions-2-back-end.md) for the requirements of the initial Back-End Development.
### About
Our App will be able to help collect and donate blood easily. Users who have any mobile devices or pc with an active internet connection can contact and start searching for a donor, donation sites, information about anything related to donating blood easily through this website.

1. See the [Database Integration instructions](./instructions-3-database.md) for the requirements of integrating a database into the back-end.
### What and why?

1. See the [Deployment instructions](./instructions-4-deployment.md) for the requirements of deploying an app.
Since the pandemic started blood donations have decreased by 10% and as of December 2021 the US blood supply is at its lowest level in a decade. The inventory of some blood types has dropped below one day’s supply in recent weeks, which is a dangerously low level. Despite the consistent demand for blood in healthcare, only about 3% of age-eligible people donate blood yearly. Additionally, many people aren't aware of whether or not they're even eligible to donate in the first place. Having a centralized app to not only fine blood donation centers, but also answer FAQs and find out about donation eligibility could increase the percentage of people who donate blood yearly.

### For whom?

- People who are interested in learning more about blood donation and people who are interested in donating blood.
- The public will be able to determine their eligibility and can find the nearest blood bank or blood drive.


### Contribute

If you want to know more about how you can contribute you can head over to the [CONTRIBUTING.md](./CONTRIBUTING.md)

### UX-Design

To view the site map, wireframe, and prototype please check out the [UX-DESIGN.md](./UX-DESIGN.md)

### Building

To view how to build and launch the project go to the [BUILDING.md](./BUILDING.md)

### Testing

To view how to run unit test on backend please go to the [TESTING.md](./TESTING.md)
48 changes: 48 additions & 0 deletions TESTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
### How to run Javascript Unit Testing (WORK IN PROGRESS)

### What is Unit Testing and what does it do

* Unit Testing will allow us to check all small pieces of cide to deliver information and check the final result.Failure in a unit test shows without a doubt which part of the code doesn’t work.

### What the test is for

The goal of the unit test is to make your tests:
-Readable
-Maintainable
-Trustworthy

### Guidelines

* The goal of unit tests is to prove that the smallest unit of code behaves exactly as you expect in isolation.
-Each test should have a unique name clearly stating what unit is being tested.
-Each test should test only one unit per test, although one test can include several assertions. Create multiple tests for multiple units of functionality.
-Each test should follow the project's JavaScript Code Guidelines


### Testing
The testing for the backend of the project will be done using **Mocha** and **Chai**

If you want to test code in the browser using these mentioned tool, do the following ,

run npm install mocha chai --save-dev
npm install -g mocha

* This installs the packages mocha and chai. Mocha is the library that allows us to run tests, and Chai contains some helpful functions that we’ll use to verify our test results.

* to unit test your application, you need to include Chai, by using **var chai = require('chai');** at the top of the test file.
* You can run the tests using the **mocha** command, instead if opening a browser.

* We use Mocha's CSS styles to help us give our tests the correct formatting.
* The testing files will be stored in setuptests

In order to help you write test names properly, you can use the "unit of work - scenario/context - expected behaviour" pattern:







### Run Test
To run test in the **frontend** directory, install by using **npm install** and launch by using **npm start**
To run Test in the **backend** directory, install by using **npm install** and launch by using **npm start**
155 changes: 151 additions & 4 deletions UX-DESIGN.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,155 @@
# User Experience Design

This repository contains instructions and files for two assignments that together comprise the user experience design phase of a web app.

Replace the contents of this file with the completed assignments, as described in:
# App map
![Blood Donation App/Site Map](./ux-design/BloodDonationSiteMap.png)

# Prototype
[Click here to view the prototype](https://invis.io/Q312FCGAJ9XV)

* Please note that with this prototype you will only get a you're eligible notification (overlay) if you decide to login from the map, but in reality it will be based on your answers to the eligibility questions for the type of blood donation you would like to make.
* Also note that if you go to your profile and select "Find Donation Center" you will not be asked to login again from the map. Once you select a center, you will recieve that first question asking which type of blood donation you would like to make and then from there you will get a notification stating whether ot not you're eligible.

# Wireframe

## Home Page
![Home Page](./ux-design/Home-Page.png)

* Gives info about the national blood crisis with links to articles
* Gives info about hoe blood donations help along with some videos
* Gives info about why one should host a blood drive and links to our "Other Ways to Help" page so that users can learn about setting up blood drives


## Map Page
![Map Page](./ux-design/Map-Page.png)

* When clicking on the Map page, a user will be shown blood donation centers and drives close to them.
* They will also have the option to put in an address or zip code.
* From there they can select where they would like to go to donate blood.
* This action triggers an initial process with a series of overlays to determine the user's eligibility based on factors such as age, weight, and current health. (see below)

#### Question 1
![Question 1](./ux-design/Question-1-Overlay.png)

* They will be asked what type of donation they would like to make so that we can determine what questions to ask or if they are logged in we can check to see if they are eligible for that type of donation

#### Question 2
![Question 2](./ux-design/Question-2-Overlay.png)

* After being asked what type of donation they would like to make, if they are not logged in they will be asked if they have an account.

#### Question 3
![Question 3](./ux-design/Question-3-Overlay.png)

* If the answers no to Question 2, They will be asked if they want to create an account.

#### Eligibility Questionnaire
![Questionnaire Overlay](./ux-design/Eligibility-Quiz-Questionnaire.png)

* If the answers no to Question 3, They will given an eligibility quiz based on the type of donation they would like to make.
* Once finished, an overlay will appear telling the user whether or not they're eligible.

#### Login
![Login Overlay](./ux-design/Eligibility-Quiz-Questionnaire.png)

* If the answers yes to Question 2, an overlay will show allowing them to login.
* Once they login an overlay will appear telling the logged in user whether or not they're eligible (based on profile info and their answer to question 1)

#### Sign Up
![Sign up Overlay](./ux-design/Eligibility-Quiz-Questionnaire.png)

* If the answer yes to Question 3, They will be given an overlay to sign up
* Once they sign up, an overlay to the "Eligibility Questionnaire" (above) they will appear.
* Once finished, an overlay will appear telling the user whether or not they're eligible.

#### Eligible Overlay
![Eligible Overlay](./ux-design/Eligible-Overlay.png)

* Based on their answers users will get an overlay notification stating that they are eligible
* The overlay provides a link to the center's website to make an appointment

#### Not Eligible Overlay
![Not Eligible Overlay](./ux-design/Not-Eligible-Overlay.png)
* Based on their answers users will get an overlay notification stating that they are not eligible
* The overlay provides a link to our "Other Ways to Help" page




## FAQ Page
![FAQ Page](./ux-design/FAQ.png)

"FAQ" page will provide some general information and have links to the "Eligibility" page and "Other Ways to Help" page


### Eligibility Page
![Eligibility Page](./ux-design/Eligibility.png)

* Gives eligibility requirements based on donation type.
* Include links to a page about "Information for Teen Donors" and a "Learn More" page for each of the donation types

#### Information for Teen Donors
![Information for Teen Donors](./ux-design/Student-Info.png)

* This will provide general information for teenagers who want to donate blood.

#### Learn More
![Learn More Pages](./ux-design/Learn-More.png)

* Each of the blood Donation Types will have a page with the same layout as pictured, which gives information about that specific type of blood donation.
* You can also get to these pages from the "Profile" page by clicking on the type of blood donation that you're elgible for under "You are Eligible for"




## Profile Page
![Profile Page](./ux-design/Profile-Page.png)

* Allows users to see what types of blood donations they are eligible for.
* It allows them to retake the quiz if their health condition changes.
* Also allows them to find a donation center near them by clicking "Find Donation Center" that links them to the "Map" page
* They can also edit their profile (name, password, picture, email) by clicking "Edit Profile"


### Edit Profile
![Edit Profile](./ux-design/Edit-Profile.png)

* From the "Profile Page" users can edit their profile info (name, password, picture, email)




## Contact Us
![Contact Us Page](./ux-design/Contact-Us-Page.png)

* Contact info of the team
* Also live chat/message option if users have questions. Clicking this opens up a chat/message overlay

#### Chat/Message Overlay
![Chat/Message Overlay](./ux-design/Chat-Overlay.png)

* Overlay for chat that appears when users click message on the Contact Us page.



## Login
![Login](./ux-design/Login.png)

* Users can login or sign up if they do not have an account.
* From the Login page the user will be brought to the "Profile" page



## Sign Up
![Sign Up](./ux-design/Signup.png)

* When clicking login if the user does not have an account they can click “Sign Up” to create an account.
* When you register to sign up you will be brought to the "Eligibility Questionnaire/Quiz" that will help determine which type(s) of blood donation they are eligible for.


# Eligibility Questionnaire/Quiz
![Eligibility Questionnaire/Quiz](./ux-design/Eligibility-Quiz.png)

* Upon Sign Up from the main Login/Signup page users will take the "Eligibility Questionnaire/Quiz" that will help determine which type(s) of blood donation they are eligible for.
* Users will also be brought to this page if they go to the "Profile" page and select "Retake Eligibility Quiz"

- [app map & wireframe instructions](instructions-0a-app-map-wireframes.md).
- [prototype instructions](instructions-0b-prototyping.md)
14 changes: 14 additions & 0 deletions back-end/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"env": {
"commonjs": true,
"es2021": true,
"node": true,
"mocha": true
},
"extends": ["airbnb-base", "prettier"],
"plugins": ["prettier"],
"parserOptions": {
"ecmaVersion": "latest"
},
"rules": {}
}
5 changes: 5 additions & 0 deletions back-end/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"trailingComma": "es5",
"printWidth": 100,
"singleQuote": true
}
13 changes: 13 additions & 0 deletions back-end/accountData.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const accountData = [
{
firstName: 'Rachel',
lastName: 'Kindagen',
email: '[email protected]',
password: 'helloworld123',
age: 21,
eligible: ['Whole Blood', 'Power Red', 'Platelet'],
loggedIn: false,
},
];

module.exports = accountData;
Loading