Table of Contents
This is a full-stack web application built with NodeJS and Express that allows an contractor to manage their tool crib. Currently at v2.0!
- Add and archive tools (No-Deletion Philosophy)
- Add tools individually from anywhere, or batch import tools to save time
- Search for tools by a variety of fields
- Add and delete service assignments (employees, vehicles, or jobsites)
- Checkout and check-in tools to/from service assignments (employees, vehicles, jobsites, and stockrooms)
- Status is derived via service assignment type.
- Users can set personal theme and sorting preferences
- Generate reports on tool usage and inventory levels (coming soon...)
- NodeJS
- Express
- MongoDB (mongoose)
- TailwindCSS + DaisyUI (for styling)
- NodeJS 22+
- MongoDB Target
- In the repo, there is a docker-compose folder. Either download, or copy the contents of both the docker-compose.yml and compose.env to the same folder on your local machine.
- Edit the contents of the .env file to your environment
- In a terminal, run
docker compose up -d
to start the containers.
Note: This is configured with /data/db and /data/configdb persistent storage volumes. No secrets are left unencrypted at rest, other than in your .env file.
-
Clone the
master
branch either from the GH repo Link or via terminalgit clone https://github.com/DaveLuhman/toolkeeper.git
-
Duplicate the .env.sample file and fill in the details to match your environment a. note the .env file in the monorepo is in ./src/config/.env
-
In a terminal, run
npm install
to perform a clean install of the node dependancies -
Next, we'll run
npm run build:css
to build the tailwind CSS files -
Finally, we'll run
npm start
to start the services
ToolKeeper is released under the MIT License. However, the exclusive rights to host it for SAAS resale are retained by the author. Others can self-host and use it or run it locally, but not resell hosting without meaningfully changing it first.
Contributions are welcome! Please submit issues or pull requests on GitHub. Here's a template for submitting issues or pull requests:
Description A clear and concise description of what the issue is.
Steps to Reproduce Steps to reproduce the behavior:
Go to '...' Click on '...' Scroll down to '...' See error Expected behavior A clear and concise description of what you expected to happen.
Screenshots If applicable, add screenshots to help explain your problem.
Additional context Add any other context about the problem here.
- A clear and concise description of what the pull request is.
- Link to the related issue if applicable.
- List of changes made:
- If applicable, add screenshots to help explain your changes.
- Add any other context about the pull request here.
For any questions or feedback, you can reach out via email at [email protected] or on GitHub @DaveLuhman.