Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

gschool-blue-ocean/hacking-transitions-20

 
 

Repository files navigation

License: MIT

Hacking Transitions

Description

A Full-Stack React application for transition managers to keep track of students, and their appointments. The application stores information in a database for multiple cohorts, who each have multiple students. Information attributed to the students includes Full name, Branch, Duty status, ETS date (with corresponding color indicator depending on the time to ETS), and their phone numbers. The application provides the ability to add/edit/delete appointment notes on the fly for each individual student. The application requires users to register using email credentials, and provide a password for access to sensitive information. The user's password is hashed with additional 10 salt rounds, and is one-way encrypted so it can be stored in the database, and attributed to each individual user.

Table of Contents

Installation

  1. This application builds the development environment inside Docker, so after forking/cloning, make sure you have Docker desktop running.
  2. In your terminal run cp .env.example .env; cp api/.env.example api/.env - Copy required environment variables.
  3. In your terminal run npm install; npm install --prefix=api; npm install --prefix=client - Install all dependencies.
  4. In your terminal run docker compose up --build - From the root directory (Note* the --build command ensures dependencies are installed alongside the Docker container build).
  5. *Note: Since the database for the deployed application is hosted on Heroku, any changes to the data, or structure of the ERD must be pushed to heroku manually by using Heroku's CLI and adding/removing/altering the data from there. Updating the included migration and seed files will not affect the deployed version.

Technologies (Back to Top)

Front-End

JavaScript HTML CSS React

Back-End

Node.js Express.js PostgreSQL Render Docker

Dev Environment

Vite Git Npm VS Code

Key Libraries

Link Description
FullCalendar FullCalendar provides a highly performant React component that accepts JSX for rendering nested content.
ReactTooltip ReactTooltip renders a floating react tooltip element that displays information related to an anchor element when it receives keyboard focus or the mouse hovers over it.
Axios Axios is a simple promise based HTTP client for the browser and node.js.
JSON Web Tokens JSON Web Tokens (JWT) are a compact and self-contained means of securely transmitting information as a digitally signed JSON object, commonly used for authentication and authorization purposes.right baz
Concurrently Concurrently is a JavaScript library that allows running multiple commands concurrently in a single terminal window.
Bcrypt Bcrypt is a JavaScript library used for hashing and comparing passwords securely.
Cypress Cypress is a JavaScript end-to-end testing framework that allows for fast, reliable, and easy-to-write tests for web applications.
Vitest A blazing fast unit test framework powered by Vite.

Collaboration Tools

Slack Discord

Usage

For Staff Members charged with assisting students with their transition from military service.

Improvements (Back to Top)

Improvemnets Slide 1

Improvemnets Slide 1

Screenshots & Video links (click on the images below) (Back to Top)

Before Demo

After Demo

  • Visit the AFTER deployed application @ COMING SOON!

Contributors (Back to Top)

Role Contact Info
Project Manager and Software Engineer GitHub Linkedin
User Interface Owner and Software Engineer GitHub Linkedin
Architecture Owner and Software Engineer GitHub Linkedin
Software Engineer GitHub Linkedin
Software Engineer GitHub Linkedin
Software Engineer GitHub Linkedin

Screenshot

Home Page alt text

Contributors

Blake Barkman (Project Manager) || Josh Benton (User Interface Owner) || Will Franceschini(Architectural Owner) || Matthew Drevon (Software Engineer) || Dennis Kennedy (Software Engineer) ||Kimberly Jenkins (Software Engineer)

Tests

Full E2E test suite with Cypress, Multiple unit tests written for various components throughout the entire application with Vitest & react-test-library, and development testing with Postman during API development to test routes.

License (Back to Top)

The license used for this project is MIT. For more information visit: https://opensource.org/license/mit/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 84.3%
  • CSS 14.4%
  • Other 1.3%