Skip to content

Latest commit

 

History

History
154 lines (105 loc) · 6.52 KB

README.md

File metadata and controls

154 lines (105 loc) · 6.52 KB

This project was bootstrapped with Create React App.

benrinote-app

This is a note-taking react-application that uses this api.

Summary

  • BenriNote is a note management application, that is currently in alpha.
    • In its current build...
      • A user can select from a list of Publications and add them to their Dashboard.
        • BenriNote creates a set of blank notes after the user adds the Publication to their Dashboard.
        • BenriNote creates an individual note for each Section of a given Publication in order to avoid 'spaghetti notes™'.
      • From the Dashboard, the user can...
        • Read and take notes on a Publication.
        • Remove a Publication from their Dashboard.
          • Doing so will DELETE all of their notes associated with said Publication.
        • View/Edit all of their notes for each Publication.
    • Primary Features include:
      • Organizing notes through direct correlation with the source material ( Publications ).
      • Organizing a user's list of Publications by date-added.
      • Allowing a user to take notes as they read, all on the same screen.
      • Saving notes to the database periodically (onBlur)
      • Saving a backup of the last edited note in local storage, in case the onBlur method fails to save the note to the database for whatever reason.

Features

After registration and login, the user can:

  1. Browse from a list of available Publications

Screenshot of the Publications Page

2. View their list of **Publications** on their **Dashboard**

Screenshot of a user's Dashboard Page

  1. Read any of their Publications
  • Publications are divided into Sections

Screenshot of a specific Publication's Page

  1. Take Notes on individual Sections
  • Each Section has an associated section of Notes
  • Notes are generated in the database when a User adds a Publication to their Dashboard
  • Notes are saved to the database through an onBlur event
  • As a failsafe, the User's last-edited Note is saved in Local Memory
    • When either the Publication or Compiled Notes are about to be mounted,
    • The application will check for any unsaved note, saving it to the database if found

Screenshot of a specific Publication's notes Page

  1. View their Notes, grouped by Publication

Screenshot of a user's Dahsboard Page with the Confirm Delete Message on display

Test User

  • Username: dunder
  • Password: password

Available Scripts

  • In the project directory, you can run:

npm start

  • Runs the app in the development mode.
  • The page will reload if you make edits.
  • You will also see any lint errors in the console.

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.

Example .env.local

  • REACT_APP_API_KEY="you-secret-here"
  • REACT_APP_API_BASE_URL="https://your-url-here"

Technologies

  • This is a React project, built using Nodejs

  • Node Modules used for this project:

    • bcrypt
    • date-fns
    • draft-js
    • jwt-decode
    • markdown-react-js
    • react
    • react-dom
    • react-draft-wysiwyg
    • react-router-dom
    • react-scripts
    • enzyme
    • enzyme-adapter-react-16
    • enzyme-to-json

F.A.Q

  • "What does 'benrinote' mean?"
    • benri, a.k.a. べんり or 便利, roughly translates to 'convenient'
    • benri is more-or-less pronounced as 'ben-ree'