Skip to content

Directory Information

Evan H edited this page Apr 16, 2024 · 22 revisions

Project Structure

The full file structure of the project directory is below.

Show/Hide Project Directory
│root
│
├── actions
│   ├── actions.js
│   ├── addNewUser.js
│   ├── adminActions.js
│   └── squareActions.js
├── app
│   ├── account
│   │   ├── giftcard
│   │   │   └── page.js
│   │   ├── membership
│   │   │   └── page.js
│   │   ├── profile
│   │   │   └── page.js
│   │   ├── saved-cards
│   │   │   └── page.js
│   │   ├── security
|   |   │   ├── error.js
│   │   │   └── page.js
│   │   ├── transaction-history
│   │   │   └── page.js
│   │   └── layout.js
│   ├── addcard
│   │   ├── layout.js
│   │   └── page.js
│   ├── admin
│   │   ├── customers
|   |   │   ├── createuser
|   |   │   │   ├── error.js
|   |   |   │   └── page.js
|   |   │   ├── edit
|   |   |   │   └── page.js
|   |   │   ├── loan
|   |   │   │   ├── details
|   |   |   |   │   └── page.js
|   |   |   │   └── page.js
|   |   │   ├── transactions
|   |   |   │   └── page.js
│   │   │   └── page.js
│   │   ├── dashboard
|   |   │   ├── layout.js
│   │   │   └── page.js
|   |   ├── inventory
|   |   │   ├── checkin
|   |   |   │   └── page.js
|   |   │   ├── checkout
|   |   |   │   └── page.js
|   |   │   ├── edit
|   |   |   │   └── page.js
|   |   │   ├── new_item
|   |   |   │   └── page.js
│   │   │   └── page.js
│   │   ├── reports
|   |   │   ├── custom
|   |   |   │   └── page.js
|   |   │   ├── items
|   |   |   │   └── page.js
|   |   │   ├── loans
|   |   |   │   └── page.js
|   |   │   ├── maintenance
|   |   |   │   └── page.js
|   |   │   ├── membership
|   |   |   │   └── page.js
|   |   │   ├── revenue
|   |   |   │   └── page.js
│   │   │   └── layout.js
|   |   ├── dashboard.css
│   │   └── layout.js
│   ├── api
|   |   ├── getdata
│   │   │   └── page.js
|   |   ├── me
│   │   │   └── route.js
|   |   └── tools
|   |       ├── tool
|   |       │   └── route.js
│   │       └── route.js
│   ├── config
|   |   ├── db.mjs
|   |   └── nodemailer.js
│   ├── cronjob
|   |   └── page.js
│   ├── css
|   |   ├── components
|   |   |   ├── AdminDashboard.css
|   |   |   ├── AdminNav.css
|   |   |   ├── FeaturedTools.css
|   |   |   ├── Filters.css
|   |   |   ├── footer.css
|   |   |   ├── loans.css
|   |   |   ├── Navbar.css
|   |   |   ├── slideshow.css
│   │   |   └── UserProfile.css
|   |   ├── giftcard.css
|   |   ├── home.css
|   |   ├── inventory.css
|   |   ├── login.css
|   |   ├── product.css
|   |   ├── signup.css
|   |   └── nodemailer.js
│   ├── giftcard
|   |   ├── layout.js
|   |   └── page.js
│   ├── inventory
|   |   ├── product
|   |   |   └── page.js
|   |   ├── layout.js
|   |   └── page.js
│   ├── login
|   |   ├── layout.js
|   |   └── page.js
│   ├── logout
|   |   └── page.js
│   ├── payment
|   |   ├── layout.js
|   |   └── page.js
│   ├── public
|   |   ├── data
|   |   |   └── slidedata.json
|   |   └── images
|   |       ├── toolshed_logo.png
|   |       └── visa.png
│   ├── sign-up
|   |   ├── error.js
|   |   ├── layout.js
|   |   └── page.js
│   ├── subscription
|   |   ├── layout.js
|   |   ├── page.js
|   |   └── subscription.css
│   ├── globals.css
│   ├── layout.js
│   ├── lib.js
│   ├── not-found.js
│   └── page.js
├── components
│   ├── account
|   |   ├── accountnav.js
|   |   ├── card.js
|   |   ├── cards.js
|   |   ├── giftcards.js
|   |   ├── membership.js
|   |   ├── Profile.js
|   |   ├── security.js
│   │   └── Transactions.js
|   ├── admin
|   |   ├── customers
|   |   |   ├── AddTransaction.js
|   |   |   ├── CreateNewUser.js
|   |   |   ├── EditUser.js
|   |   |   ├── ViewAllUsers.js
|   |   |   ├── ViewLoanDetails.js
|   |   |   └── ViewUserLoan.js
|   |   ├── reports
|   |   |   ├── CustomReports.js
|   |   |   ├── ItemsReport.js
|   |   |   ├── LoanReport.js
|   |   |   ├── MaintenanceReport.js
|   |   |   ├── MembershipReport.js
|   |   |   └── RevenueReport.js
|   |   ├── tools
|   |   |   ├── AdminInventory.js
|   |   |   ├── CheckIn.js
|   |   |   ├── CheckOutTool.js
|   |   |   ├── EditItem.js
|   |   |   └── NewItem.js
|   |   ├── AdminSideBar.js
|   |   ├── CheckOut.js
│   │   └── dashboard.js
|   ├── Filters
|   |   ├── filters.js
│   │   └── sort.js
|   ├── Footer
│   │   └── Footer.js
|   ├── FormComponents
|   |   ├── newUserSchema.js
|   |   ├── signupform.js
│   │   └── statesSelect.js
|   ├── InventoryItems
│   │   └── InventoryItems.js
|   ├── Navbar
|   |   ├── AdminNavBar.js
│   │   └── Navbar.js
|   ├── PopularTools
│   │   └── PopularTools.js
|   ├── ProductItem
│   │   └── ProductItem.js
|   ├── Slideshow
│   │   └── Slideshow.js
|   ├── Square
|   |   ├── Client.js
|   |   ├── Customer.js
│   │   └── Forms.js
|   ├── ToolCard
│   │   └── ToolCard.js
|   ├── Tools
|   |   ├── AllTools.js
│   │   └── OneTool.js
|   └── BreadCrumb.js
├── Database
│   ├── accountmigration.py
│   ├── datamigration.py
│   ├── Needed_Queries.sql
│   ├── SEAC Tool Shed with Customer column.sql
│   ├── SEAC_Tool_Shed_Database_Schema.mwb
│   └── SEAC_Tool_Shed.sql
├── lib
│   └── registry.js
├── node_modules
│   └── ...
├── .eslintrc.json
├── .gitignore
├── Accounts_ToolShed.xls
├── Accounts_ToolShed.xlsx
├── env.download
├── Gate_Review_2_Tools.xlsx
├── jsconfig.json
├── middleware.js
├── next.config.js
├── package.json
├── README.md
├── SEAC_Tool_Shed_Inventory.xls
└── the-tool-shed-logo-transparent-bg.png

/actions

The actions directory contains files relating to back-end administrative functionality. actions.js, addNewUser.js, adminActions.js, and squareActions.js each contain functions relating to their purview:

  • actions.js contains login and other global functions.
  • addNewUser.js contains the suite of functions related to the creation of a new Account.
  • adminActions.js contains deleteUser and other privilege-restricted functions.
  • squareActions.js contains addNewCard and other Square finance-related functions.

/app

The app directory contains virtually all code related to the application's back-end functionality within its directories and files. globals.css, layout.js, lib.js, not-found.js, and page.js contain global interfaces and styles.

Sub-directories of app, such as giftcard, are (or contain) individual web-pages of this application. Webpage sub-directories will generally have a layout.js and page.js for display and functionality, respectively.

Some sub-directories of app have their own sub-directories, like account and inventory. These sub-directories only contain page.js and inherit a parental layout.js.


/components

The components directory contains user interface components, such as Footer.js and AdminSideBar.js.

Sub-directories of components, such as FormComponents and PopularTools, have one or more component files in them, such as FormComponents/newUserSchema.js and PopularTools/PopularTools.js. components/admin has its own sub-directories to store groups of component files, such as admin/reports/RevenueReport.js and admin/tools/AdminInventory.js.

BreadCrumb.js contains the "breadcrumb" interface component indicating the path and depth of the current page.

For more details, see the Front-End Information page.


/Database

The Database directory contains database queries and models. View the Source Code and the Database Schema page for more information.


/lib

The lib directory contains registry.js which imports styling for administrative pages.


Root Files

The rest of the files in the project's root directory are configuration files and should not be deleted or modified. middleware.js delegates security function.


Clone this wiki locally