Front-End:
- axios@1.5.0
- bootstrap@5.3.1
- react-bootstrap@2.8.0
- react-calendar@4.6.0
- react-datepicker@4.1.1
- react-dom@18.2.0
- react-router-dom@6.15.0
- react-scripts@5.0.1
- react@18.2.0
- stripe@14.1.0
- @stripe/react-stripe-js@2.3.1
- @stripe/stripe-js@2.1.9
- @testing-library/jest-dom@5.17.0
- @testing-library/react@13.4.0
- @testing-library/user-event@13.5.0
Back-End:
- com.twilio.sdk:twilio:8.21.0
- org.springframework.boot
- javax.servlet:javax.servlet-api:4.0.1
- io.jsonwebtoken
- com.mysql:mysql-connector-j:8.0.32
- com.stripe:stripe-java:23.9.0
- org.webjars.npm:jsonwebtoken:8.5.1
- org.projectlombok:lombok
Elderly User:
- Sign Up
- Select Subscription
- View Services
- Select Service
- Subscriptions Business Logic
- Notifications
- Cancel Service Request
- Rate Service Request
- Report Service Request
- Profile
- Email and SMS notifications
- Unsubscribe
Provider User:
- Sign Up
- Edit Personal Information
- Select Services
- Accept Service Requests
- View User Information
- Payment Account Setup
- Manage Notifications
- Modify Profile Photo and Information
Admin User:
- View User List
- Deactivate Users
- Manage Payments
- View Reported Services
- Notify Providers about Reported Services
- View and Delete Service Requests
Install the front-end libraries and run the front-end server:
- Open a terminal and cd into mature-missions (front-end folder)
- cd mature-missions (front-end folder)
- npm install --legacy-peer-deps
- npm install axios --legacy-peer-deps
- npm install bootstrap --legacy-peer-deps
- npm install react-bootstrap --legacy-peer-deps
- npm install react-calendar --legacy-peer-deps
- npm install datepicker --legacy-peer-deps
- npm install react-router-dom --legacy-peer-deps
- npm install react-scripts --legacy-peer-deps
- npm install react --legacy-peer-deps
- npm install stripe --legacy-peer-deps
- npm start
- The front-end server should start running and you should see the following on your terminal/command line prompt:
Install the back-end libraries:
- Install Java https://www.java.com/en/download/help/download_options.html
- Install gradle https://gradle.org/install/
- Install MySQL workbench https://dev.mysql.com/downloads/workbench/
- Create a database connection in MySql workbench with address localhost:3306 and set the following fields as show in the image below:
Run the back-end server:
- Open a second terminal and cd into maturemissions (back-end folder):
- In src/main/resources/application.properties make the following changes:
- Set spring.datasource.username to database username
- Set spring.datasource.password to database password
- Set stripe.keys.public to public stripe key
- Set stripe.keys.secret to secret stripe key
- Set spring.mail.host to email host
- Set spring.mail.username to email username
- Set spring.mail.password to email Password
- Set twilio.account_sid, twilio.auth_token, twilio.phone_number to correct field from twilio
-
run
gradle bootRun
NOTE: The back-end server will start running when you see the following in your terminal: Started MatureMissionsApplication -
Open: http://localhost:3000/
SUCCESS: The back-end and front-end server are now working simultaneously.
Before using the website please follow the steps in your SQL Workbench:
- Log in using your credentials that you used when you created a new database connection. You will find these credentials in your maturemissions filder under src/main/resources/application.properties:
- username: spring.datasource.username
- password: spring.datasource.password
-
Press the refresh button to view all the tables after having the back-end and front-end servers running:
-
Add and run the following SQL statements below into your query tab:
- INSERT INTO
main
.subscriptions
(id
,product_id
,services_per_week
,type
) VALUES ('1', 'price_1O0BN6GOC4VJVNP01F5rgYus', '3', 'Bronze'); - INSERT INTO
main
.subscriptions
(id
,product_id
,services_per_week
,type
) VALUES ('2', 'price_1O0BNKGOC4VJVNP0iYObSjyM', '5', 'Silver'); - INSERT INTO
main
.subscriptions
(id
,product_id
,services_per_week
,type
) VALUES ('3', 'price_1O0BNZGOC4VJVNP0ahoJqwOV', '7', 'Gold'); - INSERT INTO
main
.services
(id
,description
,name
) VALUES ('1', '', 'Care Assistance'); - INSERT INTO
main
.services
(id
,description
,name
) VALUES ('2', '', 'Meal Preparation'); - INSERT INTO
main
.services
(id
,description
,name
) VALUES ('3', '', 'Housekeeping'); - INSERT INTO
main
.services
(id
,description
,name
) VALUES ('4', '', 'Family Interaction'); - INSERT INTO
main
.services
(id
,description
,name
) VALUES ('5', '', 'Mobility Support'); - INSERT INTO
main
.services
(id
,description
,name
) VALUES ('6', '', 'Social Outgoings');
SUCCESS: You can now start using the website at http://localhost:3000/
For admin login use the following credentials: username: admin password: password