UTDallasEPICS / Comet-Cupboard

4 stars 3 forks source link

Comet Cupboard: Inventory Tracking

Table of Contents

- [Comet Cupboard: Inventory Tracking](#comet-cupboard-inventory-tracking) - [Conceptual Overview](#conceptual-overview) - [Users/Roles](#usersroles) - [User](#user) - [UTD Student](#utd-student) - [UTD (Student) Volunteer](#utd-student-volunteer) - [Comet Cupboard Staff](#comet-cupboard-staff) - [Functional Requirements](#functional-requirements) - [Shopping Page](#shopping-page) - [Questionaire Page](#questionaire-page) - [Cart Verification Page](#cart-verification-page) - [Inventory Page](#inventory-page) - [Data Analytics Page](#data-analytics-page) - [Other Requirements](#other-requirements) - [Third Party Integrations](#third-party-integrations) - [Tech Stack](#tech-stack) - [Deployment Notes](#deployment-notes) - [Migration Scripts](#migration-scripts) - [Setting Up Development Environment](#setting-up-development-environment) - [Install the repo](#install-the-repo) - [Set up environment variables](#set-up-environment-variables) - [Database Setup](#database-setup) - [Running the Application](#running-the-application) - [Useful Dev Tips](#useful-dev-tips) - [Prettier Formatting](#prettier-formatting) - [Prisma](#prisma) - [Postman](#postman) - [Documentation](#documentation)

Conceptual Overview

The purpose of the Comet Cupboard Inventory Tracking is to

Users/Roles

User

UTD Student

UTD (Student) Volunteer

Comet Cupboard Staff

Functional Requirements

Shopping Functionality

Questionaire Functionality

Cart Verification Functionality

Inventory Functionality

Data Analytics Functionality

data and graphs goes crazy here

Other Requirements

Third Party Integrations

Tech Stack

Deployment Notes

N/A

Migration Scripts

N/A

Setting Up Development Environment

Ensure Node.js, npm, Visual Studio Code, Git, WSL2 (windows only) are installed. Ensure that everyone is working on the latest Long-Term-Support (LTS) Node.js version.

Install the repo

git clone https://github.com/UTDallasEPICS/Comet-Cupboard.git
cd Comet-Cupboard
npm install

Set up environment variables

# Fill out the environment variables accordingly
cp .env.example .env

Database Setup

# Initialize the database and test data seeding
npx prisma migrate dev --name init

Running the Application

# Pick your favorite way to run (-o flag will automatically open a new tab)
npx nuxt dev -o
npm run dev
npm run dev -- -o

Useful Dev Tips

Prettier Formatting

npm run format

Prisma

# Prisma GUI to view database
npx prisma studio

Postman

Use Postman to test HTTP, SSE, and WebSockets. Keep in mind that some features like SSE do not work on the Postman extension for VSCode, so have the Postman desktop app for full functionality.

Documentation

See ./notes, ./figma