Skip to content
This repository has been archived by the owner on Feb 14, 2024. It is now read-only.

BU-Spark/se-shared-decision-making

Repository files navigation


Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Acknowledgments

About The Project

My Shared Decision

Countless pregnant people in America face many uncertainties when it comes to delivering a baby. Over the course of roughly nine months, these pregnant people may endure countless complications that they may not have been prepared to face.

Due to the lack of transparency as well as layman terms within the medical field, many people often rush to take any advice given to them by their doctors. As a result, some individuals undergo treatment that they may not have necessarily needed.

Our Solution: We seek to deliver medical knowledge and the autonomy for people to make the right decision during their prenatal care through a resource website that offers catered information based on birthing preferences.

Look at our Final Presentation to see our progress overview from Fall 2022: Final Presentation

(back to top)

Built With

Our Technical Stack Frontend

CMS

Deployment

(back to top)

Getting Started

Please review the following sections to understand how to run this project on your local device. To run properly please make sure you have the most updated version of ReactJS, NodeJS, NPM, and Firebase.

For React you can learn more in the Create React App Documentation

Frontend

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    $npm install npm@latest -g

Installation (TO RUN THE FRONTEND)

How to run the current project on local device:

  1. Clone the repo
    $git clone https://github.com/BU-Spark/se-shared-decision-making.git
  2. Install NPM packages
    $npm install
  3. Enter the frontend folder in the directory
 $cd frontend
 $npm start

Runs the frontend from local host Open http://localhost:3000 to view it in the browser. Will update when edits are made.

Other useful npm commands

 $npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

 $npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

 $npm run eject

Note: this is a one-way operation. Once you eject, you can’t go back!

If you aren’t satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

(back to top)

Strapi

Brief: Recommend to build and test content locally and deploy to google cloud after everything is set.

To host locally:

   $cd new-strapi
   $npm install

Create .env file and paste following:

HOST=0.0.0.0 PORT=1337 APP_KEYS=hq5nXeyU/6AUVnkkdHmmqA==,c1W7ivCD+NMYGnpjiLOoMQ==,l2cE5Bfqejdgs//K8Aa7Ag==,ZlqpAcH2lPYYbP8QqTb2bg== API_TOKEN_SALT=WSeDbXcQ7JgJ1tMKGhsIXw== ADMIN_JWT_SECRET=w3fdKjGIQ4m0bJOYQxRBbA== JWT_SECRET=EC1lm5cICpaxnYCl2990Ig==

   $npm run develop

To login in: Create your own account and start To deploy: Google App Engine Deployment - Strapi Developer Docs

Usage

Strapi Usage

  • Build a collection type for each page and create component for sections if needed
  • Add page content as entry on corresponding field.
  • Be sure to publish the content after it is finished.
  • Go Setting-> USERS & PERMISSIONS PLUGIN -> roles -> public to check the corresponding field in order to get the data.

Here is what the final website should look like: Figma Wireframe

Deployment

For deploying frontend to firebase: To host locally:

    $cd frontend
    $npm install && npm run start

$cd frontend $npm install && npm run start

To redeploy site and push new changes:

    $npm run build
    $firebase deploy --only hosting

To redesignate github repo for CI/CD:

   $firebase login
    $cd frontend
    $firebase init

follow prompt for connecting to GitHub

(back to top)

Development Roadmap

  • User Notes App
  • My Values Preferences Quiz
  • Questions Checklist
  • Connected to Strapi
  • Completed (minus responsiveness), Home and My Values Page
  • Create Notes App
  • Fix Quiz array bug (array doesn't reset when page refreshed, repeats values)
  • Fix Hosting bug, can only use home page url, if typed in with directory to other pages in browser, site returns a 404 error (however once on main page, site pages are accessible)
  • Fix Issue with Strapi parsing issue
  • Fix issue with maintaining Strapi data
  • Please see Jira for additonal tasks to be completed, please check-in with client to verify these backlog items: Jira Page

See the more detailed open issues to add recommended features, and to log future issues (Quiz and 404 error included).

(back to top)

Contributing

For future contributions of this project, please first ensure that initial-frontend is merged to main properly before creating new branches.

  1. Create your Feature Branch (git checkout -b INSERT commit-name)
  2. Commit your Changes (git commit -m 'Insert your commit message, make sure it's detailed')
  3. Push to the Branch (git push origin commit-name)
  4. Open a Merge Request for Main

(back to top)

License

Distributed under the GPL-3.0 license. See License for more information.

(back to top)

Acknowledgments

Here are some helpful resources to kick off the project!

(back to top)