- Table of Contents
- Overview
- Features
- Project Structure
- Getting Started
- Roadmap
- Contributing
- License
- Acknowledgments
> Zustand
> Prisma
> React + Vite
> Ratelimiting
> Docker
└── 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
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 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
⦿ app.src.components.@shadcn
ui
⦿ app.src.components.@shadcn.ui
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
This project requires the following dependencies:
- Programming Language: TypeScript
- Package Manager: Npm, Yarn
- Container Runtime: Docker
Build Boutique.git from the source and intsall dependencies:
-
Clone the repository:
❯ git clone https://github.com/Scott-Duby/Boutique.git
-
Navigate to the project directory:
❯ cd Boutique.git
-
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'
```
Use the compose example to help format your file [compose.example.yaml]
You can run the project using one of the following methods:
🐳 Using Docker
docker compose build
docker compose up
npm install
npm start
yarn
yarn start
-
Task 1
:Ratelimits. -
Task 2
: Settings. -
Task 3
: Theming. -
Task 4
: Posh Scraper
- 🐛 Report Issues: Submit bugs found or log feature requests for the
Boutique.git
project. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/Scott-Duby/Boutique.git
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Boutique is protected under the MIT License. For more details, refer to the MIT file.