sapphire-inventory

byBrian Osman

An rv ownership app. It includes an inventory tracker that lists all items stored in the rv. Items have a category, a location where they're stored in the rv, and flags for noting if they need to be restocked. There is also a checklist feature. Users can create checklists, reorder them, and check off completed items. These checklists are designed to be reset and reused for each rv trip. Finally, there is a maintenance list, with periodic and one-time repairs and upgrades. The app only needs to support two users, sharing access to all features.

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Sapphire-Inventory System Requirements Document

Introduction

The Sapphire-Inventory project is designed to facilitate RV owners in managing their inventory, checklists, and maintenance tasks efficiently. This application is tailored to meet the unique needs of RV users, providing a comprehensive solution for organizing and planning RV trips.

System Overview

Sapphire-Inventory is an application that allows RV owners to track their inventory, manage checklists, and schedule maintenance tasks. The system supports two users who have identical access to all features, ensuring a collaborative approach to managing RV needs. The primary functionalities include:

  • Inventory tracking with categories, storage locations, and restock flags.
  • Checklist creation, reordering, and completion tracking, designed for reuse on each trip.
  • Maintenance scheduling for periodic and one-time repairs and upgrades.

Functional Requirements

  • As a User, I should be able to track inventory items with categories and storage locations.
  • As a User, I should be able to flag inventory items that need restocking.
  • As a User, I should be able to create, reorder, and check off items on checklists.
  • As a User, I should be able to reset checklists for reuse on each RV trip.
  • As a User, I should be able to schedule and track periodic and one-time maintenance tasks.
Page 2 of 4

User Personas

  • User: An RV owner who manages inventory, checklists, and maintenance tasks. Both users have identical access to all features.

Visuals Colors and Theme

  • primary: #2A9D8F (a deep teal representing stability and tranquility)
  • primary_light: #A8DADC (a light teal for hover states and secondary UI)
  • secondary: #E76F51 (a coral hue for headlines and emphasis)
  • accent: #F4A261 (a vibrant orange for CTAs and active states)
  • highlight: #E9C46A (a warm gold for hover states and notifications)
  • bg: #F1FAEE (a soft off-white for the page background)
  • surface: rgba(233, 233, 233, 0.8) (a light gray for card/panel backgrounds)
  • text: #264653 (a dark slate for primary text and headings)
  • text_muted: #6D6875 (a muted lavender for secondary text and labels)
  • border: rgba(38, 70, 83, 0.2) (a subtle teal border color)

Signature Design Concept

The Sapphire-Inventory homepage will feature an interactive 3D RV model using @react-three/fiber and @react-three/drei. Users can click on different parts of the RV to reveal inventory lists, checklists, and maintenance schedules. As users hover over sections, subtle animations will highlight the selected area, providing an engaging and intuitive navigation experience. The RV model will rotate slightly as users scroll, offering a dynamic perspective of the vehicle's interior. This immersive experience will make managing RV tasks visually appealing and interactive.

Page 3 of 4

Interaction Model & Motion Direction

The landing page will employ a "parallax" interaction model, creating a layered depth effect as users scroll. Decorative elements, such as atmospheric clouds and distant landscapes, will move at different speeds, enhancing the storytelling aspect of the RV journey. Internal pages like dashboards and settings will adopt a "static" model for clarity and ease of use, focusing on functionality and quick access to information.

Non-Functional Requirements

  • The application must support simultaneous access by two users.
  • The system should ensure data consistency and integrity across all features.
  • The application should be responsive and accessible on various devices, including tablets and smartphones.

Tech Stack

  • Frontend: React for Web
  • Backend: Python with FastAPI
  • Database: MySQL or MariaDB, using Alembic for migrations
  • Local Orchestration: Docker, docker-compose

Assumptions and Constraints

  • The application will be used primarily in the US, with English as the default language.
  • Currency and measurements will adhere to US standards.
  • The system will not require user differentiation in permissions or control.
Page 4 of 4

Glossary

  • RV: Recreational Vehicle
  • CTA: Call to Action
  • UI: User Interface
  • API: Application Programming Interface

This document outlines the comprehensive requirements and design concepts for the Sapphire-Inventory project, ensuring a robust and user-friendly application for RV owners.

Landing design preview
Landing: View Overview
Landing: Explore RV Model
Dashboard: View Summary
Inventory: Browse Items
Inventory: Add Item
Inventory: Flag Restock
Checklists: View Lists
Checklists: Create Checklist
Checklists: Check Off Items
Checklists: Reset for Trip
Maintenance: View Schedule
Maintenance: Add Task
Maintenance: Mark Complete