corey-richardson / ArrowTrack

https://wakatime.com/@coreyrichardson/projects/ccfqhdmkoj?start=2023-10-01&end=2024-06-30
MIT License
0 stars 0 forks source link

ArrowTrack: Inventory Management System

ArrowTrack: An Inventory Management System for archers and archery clubs.

Visual Studio Code GitHub HTML5 CSS3 JavaScript jQuery

wakatime


Contents


Statuses


Assessment

The full coursework specification document and assessment criteria (v5, 2024-04-11) can be found here.

Your final portfolio comprises the following items:


Project Vision

This project could be used by archers and archery clubs to track and help maintain the equipment they hold. This would also be useful to track the value of the inventory to assist in insurance calculations, and track the items that may need replacing to help with budgeting.


Project Overview

As an archer and club committee member myself, I recognised the need for a tool that could be easily used to track owned items and their conditions for the purpose of maintenance and budget allocation for replacement equipment, for both individuals and clubs within the archery community, or even other sports communities.

ArrowTrack was designed with the goal of addressing these needs.

For individuals, the application provides a tool to monitor the condition of their equipment, ensuring longevity and performance, thus saving money in the long term on damages. For clubs where club-owned equipment can be spread across multiple indoor and outdoor ranges, or on loan out to club members trialling different bow setups, the ArrowTrack tool can be used to manage this in one centralised tool. ArrowTrack’s total cost and by-location cost functionalities can be especially helpful to club treasurers and equipment officers, assisting in insurance estimations and budget planning.


License

MIT License

Copyright (c) 2023 Corey Richardson

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Using the Application

  1. When first opening the single-page application, there will be no items in the database to display.

SPA with no items to display

  1. To add an item, fill out the 'Add a New Item' form with the relevant item information and Submit.

  1. If there are items stored in multiple locations, the combined total value of all items, and the values of items seperated by storage location are displayed.

  1. To update an item, select it in the Item to Edit field of the 'Edit an Existing Item'. Complete the form fields you wish to update with the updated values and Submit.

  1. The 'Check Out this item?', 'Remove this item?' and 'Update Condition' (Option: 'Unsafe') fields have special behaviour.

'Check Out this item?'

'Remove this item?'

'Update Condition' (Option: 'Unsafe')

  1. The Web Application allows you to Download the current database and Upload a new one. This feature is useful when migrating between devices.
    • Clicking Choose File will open a file dialog menu which will allow the user to choose a JSON file to upload.
    • Clicking Download Database will open a file dialog menu which will allow the user to decide where the JSON file gets downloaded to on their local machine.

Responsive Web Design

The application utilises Flexboxes to cater to a variety of screen sizes. This ensures content is usable, readable and accessible on all platforms.


Project Poster


Project Structure

- 00-Project
  - css
    - flexbox.css
    - footer.css
    - form.css
    - header.css
    - rwd_mq.css
    - style.css

  - js
    - addForm.js
    - calculateValue.js
    - editForm.js
    - files.js
    - view.js

  - lib
    - jquery.min.js /* jQuery is included locally as it allows for offline use;
                       this is important for the use case of the project as it
                       is likely for archery ranges to be in areas with poor 
                       signal / low bandwidth. This allows all dependencies to
                       be installed even when the user hasn't already got an
                       instance of jQuery in cache. */

  - res
    - icon.png

  - index.html