Skip to content
/ elly Public

A tool for medical workers to easily store and manage patient data.

Notifications You must be signed in to change notification settings

alectrify/elly

Repository files navigation

⚕️ elly

A tool for medical workers to easily store and manage patient data.

Work In Progress

🚀 Getting Started

Installation

Initialization & Setup

  1. Create a .env file to hold environment variables. (dotenv module)
  2. Run npm install to install packages.

🎓 Usage/Workflow Details

Development Process

  1. Ensure that your MongoDB server is running locally for database functionality.
  2. Run nodemon in your terminal while testing to automatically refresh your back-end after editing.
  3. Develop front-end by creating HTML pages w/ EJS in the views directory and editing styles in dist/styles/styles.css.
  4. Work on back-end by editing models, routes, and index.js.
  5. (optional) Customize Bootstrap CSS in src/custom.css and compile it with npm run sass to export your bundled CSS to dist/styles/bootstrap.css.

Scripts

Run npm install in the root directory to install packages.
Run npm run sass to compile Bootstrap CSS from the src folder.
Run npm run build to compile CSS and Javascript from the src folder.
Run npm run build:css to compile Bootstrap CSS and postprocess vendor prefixes in dist/styles/styles.css.
Run npm run build:js to compile (w/ webpack) JavaScript libraries from the src folder.

Directory Details

  1. The dist directory contains front-end and site metadata.
  2. The models directory contains MongoDB models.
  3. The routes directory contains routes for endpoints and API calls.
  4. The src directory contains pre-compiled Bootstrap CSS and JS that is to be bundled into front-end (dist) using the scripts mentioned above in the Installation Details.
  5. The views directory contains the EJS pages to be rendered by Express.

Deployment

  1. Create a MongoDB Atlas database and collection and copy your connection URI.
  2. Create a Heroku app and enable automatic deployment to your repository.
  3. Set environment variables for your Heroku app:
    1. MONGO_URI - Your MongoDB Atlas connection URI.
    2. GOOGLE_APPLICATION_CREDENTIALS - Development-7ee81f036c81.json
    3. SESSION_SECRET - Express session secret

⚓ Current Release Details

Bootstrap CSS v5.0.0
Express v4.x
Mongoose v5.11.15

Packages Included

  • @fortawesome/fontawesome-free - Font Awesome Icons
  • @google-cloud/vision - OCR
  • autoprefixer - adding vendor prefixes to css
  • bcrypt - password-hashing
  • bootstrap & @popperjs/core - styling
  • body-parser - essential for express
  • chalk - colorful terminal output
  • compression, cors, helmet, serve-favicon - essential middleware
  • dompurify & jsdom - sanitization
  • dotenv - environment variables
  • ejs - template engine
  • express - essential
  • express-session - sessions
  • fs-extra - updating Font Awesome icons
  • jquery - dynamic page elements
  • lodash - coding utility
  • method-override - enabling methods for the client
  • mongoose - database functionality
  • multer - processing file uploads in the back-end
  • nodemon - development quality of life
  • pdf-lib - PDF processing in back-end
  • pdfjs-dist - Rendering PDF's on front-end
  • postcss & postcss-cli - CSS postprocessing (ex: autoprefixer)
  • sass - customizing and compiling Bootstrap
  • sharp - image processing for images uploaded on mobile
  • stripe - payment processing (work in progress)
  • validator - formatting validation
  • webpack & webpack-cli - JS postprocessing
  • xlsx - Excel spreadsheet processing in back-end

📅 Future Release Plans

  • E-mail encryption and forgot password functionality

🗒️ Additional Resources

Best Practices

Documentation

Tools and References

About

A tool for medical workers to easily store and manage patient data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published