Skip to content

Aircraft-Phase-Management-System/APM-Production

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aircraft Phase Management-System

209th Aviation Support Battalion

🛩️

About APM

Aircraft Phase Management System manages and track military aircraft while they undergo maintenance inspections.

How to Use the App

  1. Clone the GitHub repository to your computer.
  2. Make sure that you have meteor installed, a guide can be found here.
  3. Next, cd into the app/ directory of your local copy of the repo, and install third party libraries with: meteor npm install
  4. Run the system with: meteor npm run start
  5. Go to http://localhost:3000 to see the app.

Sign Up Credentials

  1. email: john@apms.com, password: changeme

Sign In Page:

login

Sign Up Page [New Users]:

signup

User Landing Page:

landing-user

Calendar Page:

calendar

Calendar Day Information:

calendar-day-manhours

Add Timeout Tab:

add-timeouts

List Timeout Tab:

list-timeouts

Edit Timeout Modal:

edit-timeout

Add Phase Lane Modal:

add-phase

Edit Phase Lane Modal:

edit-phase-lane

Add Same Day Event - April 17, 2023 as of today:

add-event-same-day

List Only Today's Event - April 17, 2023 as of today:

phase-lane-same-day-events

Add New Event - November 16, 2022 containing 23 events:

add-new-event

Add New Event Report - November 16, 2022 containing 23 events:

Formula for manhours used in the day: (sum of all 'time spent' of the day) x (sum of all MLs of the day) 
A typical phase team is 12 people assigned a 10.5 hr day = 126 available manhours a day.
Of that, 1.5 hours per person is dedicated to physical fitness and 1 hour for lunch = 2.5 x 12= 30.
30 - 126 = 96 maintenance manhours per typical day. (Minus any lost time . 
I.e 2 hours for each person for mahalo days = 2 x 12- 96 or 72 MMH, and such for any half days or trn days etc).
Each phase has a list of task (aprox 300) and each task has a corresponding manhours associated with it. 

add-new-event-report

Note: If the event is added in a Mahalo Friday, the number of manhours available will be less. However, if there is a need to modify the amount of off hours for Mahalo friday, e.g modify from 2 hours to 1. This change will show on the report - in this case, the number of manhours available will increase.

Calendar Events - After Added:

event-after-added

Add New Event Holiday - July 4th, 2023:

add-new-event-holiday

Edit Events:

edit-events

Import CSV File - Events for Phase Lane #02:

import-csv

Events For Phase Lane #02 - After File Imported:

events-for-phase-lane_2

Import CSV File - Fix Dates (Weekends and Holidays):

ImportButton.jsx includes logic to change the event's date if the file contains dates that fall on weekends or holidays.
Three more rows are shown in the images below for testing. The top row looks for holidays with several days, the second
row looks for holidays with just one day, and the last row looks for weekends.

import-file-csv

  1. Holiday: Christmas Day (2023-12-24 to 2023-12-27)
  • Event Initial Date: 2023-12-25
  • Event Final Date: 2023-12-28 (after corrected)

import-check-holidays

  1. Holiday: Independece Day (2023-07-04)
  • Initial Event Date: 2023-07-04
  • Final Event Date: 2023-07-05 (after corrected)

import-check-holiday

  1. Weekend: 2023-04-09 (Sunday)
  • Initial Event Date: 2023-04-09
  • Final Event Date: 2023-04-10 (after corrected)

import-check-weekend

List All Events:

all-events

Sign Out Page:

landing

📗 Documentation for Main Functionalities

path: ..imports/ui/pages/

AddEventDay.jsx: Create new events to a phase lane.

  • setTimeSpent: Save value for number of hours from start and end.
  • calcManWorkHrsAvailability: Calculate how many manwork hours are available within the day.
  • calcManWorkHrsUsed: Calculate how many manwork hours were are used in the day.
  • isDateHol: Find if there is a holiday within that day.
  • offHrs: Find how many hours will not be used, e.g 2 hours for Mahalo Friday.

AddPhaseLane.jsx: Create a new phase lane to the calendar. setBg: Set random colour to the background.

AddTimeout.jsx: Create new holiday, mahalo friday or tranning day.

Calendar.jsx: Show all the events, holidays, etc in the calendar.

Contact.jsx: Page with information about the sponsor.

EditEventDay.jsx: Edit events from the phase lane.

EditPhaseLane.jsx: Edit a phase lane - the color, which is assigned randomly, can't be edited.

EditTimeout.jsx: Edit holidays, mahalo fridays, and training days.

ImportButton.jsx: Import events from a CSV file to a phase lane.

  1. Modify the event data to fit the calendar format.
  2. Find the number of conflicting days from holidays.
  3. Check if day falls in a weekend, if it does, keep looping until day is not a weekend anymore.

ListAllEvents.jsx: List all the events of the system.

  • filteredData: Filter events by title based on the input of the user.

ListEventAccordion.jsx: According that shows events from lane, event from that day, and add event.

ListEventDay.jsx: List only the events from the phase lane.

ListTimeout.jsx: List all holidays, mahalo fridays and tranning days.

TimeoutTabs.jsx: Tabs that include the add and list timeout functions.

🗃️ Databse

Default Database

To add default database for collections, modify imports/startup/server/Mongo.js to insert the items from the settings.development.json.

🧪 Testing (TestCafé)

test-acceptance-development-single-terminal

test-acceptance-development-terminal

Team Members

ci-meteor-application-template-production

This project used the Meteor Application Template Production, please see http://ics-software-engineering.github.io/meteor-application-template-production/ for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages