/MIA-BE

Primary LanguageRuby

Contributors Forks Stargazers Issues

Mia-logo

Medical Information Assistant (MIA)

Workflow Status


Medical Information Assistant (MIA) is a service-oriented application that allows users to document their personal medical information in a customizable and intuitive way.


Report Bug · Request Feature · Front End Repo
Table of Contents
  1. About The Project
  2. Getting Started
  3. Available Endpoints
  4. Goals

About The Project

(back to top)

Built With:

Ruby 3.1.1 Rails 7.0.4 Postgresql 1.1 GraphQL GraphiQL

Testing:

Faker Factory Bot RSpec Shoulda-Matchers SimpleCov

Development Tools:

Heroku Faraday RuboCop

(back to top)

Getting Started


Installation

  1. Clone the repo:

    git clone git@github.com:Medical-Information-Assistant-MIA/MIA-BE.git
  2. Install gems:

    bundle install
  3. To establish the database, run:

    rails db:create
  4. Since this is the back-end repository, a database migration is also necessary, run:

    rails db:migrate

Inspect the /db/schema.rb and compare to the 'Schema' section below to ensure this migration has been done successfully.

(back to top)


Testing with RSpec

Once MIA-BE is correctly installed, run tests locally to ensure the repository works as intended.


To test the entire RSpec suite, run:

bundle exec rspec

All tests should be passing if the installation was successful.

If any tests are not passing, please report which tests are not passing Here. We will issue an update/fix as soon as possible.

(back to top)


Available Endpoints

Current endpoint documentation exists in the Postman Mock Server.

(back to top)

Goals

MIA was crafted to satisfy the requirements for The Turing Mod 4 Capstone Project. See the official project requirements here.

Learning Goals

  • Use an agile process to turn well-defined requirements into deployed and production-ready software.
  • Gain experience dividing applications into components and domains of responsibilities to facilitate multi-developer teams. Service-oriented architecture concepts and patterns are highly encouraged.
  • Explore and implement new concepts, patterns, or libraries that have not been explicitly taught while at Turing.
  • Practice an advanced, professional git workflow including a Pull Request Review.
  • Gain experience using continuous integration tools to build and automate the deployment of features.
  • Build applications that execute in development, test, CI, and production environments.
  • Add additional querying options for more user-friendly trend data representation.
  • Utilize caching for optimization.
  • Focus on communication between front-end and back-end teams to complete and deploy features outlined by the project spec.

(back to top)

Future Goals

  • Add user authentication/authorization.
  • Utilize caching for optimization.
  • Containerize the application via Docker.
  • Add additional querying options for more user-friendly trend data representation.
  • Add a microservice that consumes an external API for medication information.
  • Deploy the application to another service such as Amazon or Digital Ocean.

(back to top)

Database Schema

Database Schema


Back End Team

Brad Dunlap Chris Crane Kara Jones-Hofmann Matt Enyeart Tori Enyart
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn

(back to top)

Project Manager

  • Brian Zanti

(back to top)

Project Mentor

  • Daniel Starling

(back to top)

Acknowledgments

(back to top)