Skip to content

Scott-Duby/Boutique

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Logo

BOUTIQUE.GIT

license last-commit repo-top-language repo-language-count Docker Node.js Prisma


Table of Contents


Overview


Features

> Zustand > Prisma > React + Vite > Ratelimiting > Docker

Project Structure

└── Boutique.git/
	├── LICENSE.md
	├── README.md
	├── app
	│   ├── .dockerignore
	│   ├── .gitignore
	│   ├── Dockerfile
	│   ├── components.json
	│   ├── eslint.config.js
	│   ├── index.html
	│   ├── package.json
	│   ├── public
	│   ├── src
	│   ├── tailwind.config.js
	│   ├── tsconfig.app.json
	│   ├── tsconfig.json
	│   ├── tsconfig.node.json
	│   └── vite.config.ts
	├── compose.yaml
	├── package.json
	└── server
		├── .dockerignore
		├── .gitignore
		├── .prettierignore
		├── .prettierrc
		├── Dockerfile
		├── eslint.config.mjs
		├── package.json
		├── prisma
		├── src
		├── tsconfig.json
		├── tslint.json
		└── yarn.lock

Project Index

BOUTIQUE
__root__
⦿ __root__
File Name Summary
package.json
compose.yaml
app
⦿ app
File Name Summary
tsconfig.node.json Config for typescript
index.html HTML entry-point
tailwind.config.js Config for tailwind
tsconfig.app.json Config for app build entrypoint
Dockerfile Config for Docker
package.json Config for node
components.json Config for ShadCN
tsconfig.json Config for typescript
eslint.config.js Config for ESLint
vite.config.ts Config for vite
src
⦿ app.src
File Name Summary
main.tsx Entry for React/Vite
utils.ts Provides merger utils for tailwind
index.css styles for tailwind / app-wide styles
vite-env.d.ts Types for Vite
routeTree.gen.ts **GENERATED**| router logic
types
⦿ app.src.types
File Name Summary
Item.ts Types for Item
Bin.ts Types for Bin
components
⦿ app.src.components
File Name Summary
Navbar.tsx Navbar Component
Charts
⦿ app.src.components.Charts
File Name Summary
Chart.tsx
BinBarChart.tsx
ItemTable
⦿ app.src.components.ItemTable
File Name Summary
ItemTable.tsx
Filters.tsx
ItemTableHeader.tsx
TableSkeleton.tsx
ItemTableBody.tsx
TablePaginator.tsx
Cells
⦿ app.src.components.ItemTable.Cells
File Name Summary
BulkCreate.tsx
EditableCell_SOLD.tsx
EditableCell_NAME.tsx
EditableCell_BIN.tsx
BinEditor
⦿ app.src.components.BinEditor
File Name Summary
EditBin.tsx
BinManager.tsx
CreateBin.tsx
@shadcn
Hooks
⦿ app.src.Hooks
File Name Summary
getItemsForTable.ts
Store
⦿ app.src.Hooks.Store
File Name Summary
UseBoutiqueStore.ts Code>❯ REPLACE-ME
Mutations
⦿ app.src.Hooks.Mutations
Bins
⦿ app.src.Hooks.Mutations.Bins
File Name Summary
useDeleteBin.ts
useCreateBin.ts
useEditBinName.ts
Items
⦿ app.src.Hooks.Mutations.Items
File Name Summary
useBulkCreate.ts
useUpdateSold.ts
useUpdateItemName.ts
useDeleteItem.ts
useEditItemBin.ts
lib
⦿ app.src.lib
File Name Summary
loadTableState.ts
utils.ts
createItemTableMeta.ts
Routes
⦿ app.src.Routes
File Name Summary
settings.tsx
index.tsx
__root.tsx
data.tsx
bins.tsx
server
⦿ server
File Name Summary
Dockerfile
.prettierignore
package.json
tslint.json
.prettierrc
tsconfig.json
eslint.config.mjs
prisma
⦿ server.prisma
File Name Summary
schema.prisma Code>❯ REPLACE-ME
migrations
⦿ server.prisma.migrations
File Name Summary
migration_lock.toml Code>❯ REPLACE-ME
20250515230735_migrate_init
⦿ server.prisma.migrations.20250515230735_migrate_init
File Name Summary
migration.sql Code>❯ REPLACE-ME
20250517232211_add_timestamps
⦿ server.prisma.migrations.20250517232211_add_timestamps
File Name Summary
migration.sql Code>❯ REPLACE-ME
src
⦿ server.src
File Name Summary
logger.ts
index.ts
utils
⦿ server.src.utils
File Name Summary
BinPayloadBuilder.ts Builds response messages for server
ItemPayloadBuilder.ts Builds response messages for server
FieldTypes.ts Defines types
Interfaces
⦿ server.src.utils.Interfaces
File Name Summary
ItemReturnMessage.ts
BinReturnMessage.ts
db
⦿ server.src.db
File Name Summary
prisma.ts Prisma Init
Controllers
⦿ server.src.Controllers
File Name Summary
bins.controller.ts
items.controller.ts
Routes
⦿ server.src.Routes
File Name Summary
RouteHandlerV1.ts
Bins
⦿ server.src.Routes.Bins
File Name Summary
bins.router.get.ts
bins.router.ts
bins.router.patch.ts
Items
⦿ server.src.Routes.Items
File Name Summary
items.router.get.ts
items.router.ts
items.router.patch.ts

Getting Started

Prerequisites

This project requires the following dependencies:

  • Programming Language: TypeScript
  • Package Manager: Npm, Yarn
  • Container Runtime: Docker

Installation

Build Boutique.git from the source and intsall dependencies:

  1. Clone the repository:

    ❯ git clone https://github.com/Scott-Duby/Boutique.git
  2. Navigate to the project directory:

    cd Boutique.git
  3. Install the dependencies:

[[docker][docker-shield]][docker-link]

**Using [docker](https://www.docker.com/):**

```sh
❯ docker build -t Scott-Duby/Boutique.git .
```
<!-- [![npm][npm-shield]][npm-link] -->
<!-- REFERENCE LINKS -->
<!-- [npm-shield]: https://img.shields.io/badge/npm-CB3837.svg?style={badge_style}&logo=npm&logoColor=white -->
<!-- [npm-link]: https://www.npmjs.com/ -->

**Using [npm](https://www.npmjs.com/):**

```sh
❯ npm install
```

<!-- [![yarn][yarn-shield]][yarn-link] -->
<!-- REFERENCE LINKS -->
<!-- [yarn-shield]: None -->
<!-- [yarn-link]: None -->

**Using [yarn](None):**

```sh
❯ yarn'
```

Create your docker environment

Use the compose example to help format your file [compose.example.yaml]

Run the Project

You can run the project using one of the following methods:

🐳 Using Docker

docker compose build
docker compose up

📦 Using npm

npm install
npm start

Yarn

🧶 Using yarn

yarn
yarn start

Roadmap

  • Task 1: Ratelimits.
  • Task 2: Settings.
  • Task 3: Theming.
  • Task 4: Posh Scraper

Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/Scott-Duby/Boutique.git
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

License

Boutique is protected under the MIT License. For more details, refer to the MIT file.