{"id":47962789,"url":"https://github.com/mhollink/miniature-inventory","last_synced_at":"2026-04-04T10:02:24.235Z","repository":{"id":90003134,"uuid":"406098777","full_name":"mhollink/miniature-inventory","owner":"mhollink","description":"Pile of shame manager. Miniature inventory allows you to keep track of which miniatures you own and what their state is.","archived":false,"fork":false,"pushed_at":"2026-03-07T08:02:28.000Z","size":4088,"stargazers_count":5,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-07T15:35:38.408Z","etag":null,"topics":["firebase-auth","management-system","miniatures","painting","pwa","slim4","vitejs-react"],"latest_commit_sha":null,"homepage":"https://miniature-inventory.nl/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mhollink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"mhollink","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"mhollink","thanks_dev":null,"custom":null}},"created_at":"2021-09-13T19:13:58.000Z","updated_at":"2026-03-07T08:02:32.000Z","dependencies_parsed_at":"2026-03-07T10:03:25.127Z","dependency_job_id":null,"html_url":"https://github.com/mhollink/miniature-inventory","commit_stats":null,"previous_names":["mhollink/miniature-inventory"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/mhollink/miniature-inventory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhollink%2Fminiature-inventory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhollink%2Fminiature-inventory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhollink%2Fminiature-inventory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhollink%2Fminiature-inventory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhollink","download_url":"https://codeload.github.com/mhollink/miniature-inventory/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhollink%2Fminiature-inventory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31395450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T09:13:02.600Z","status":"ssl_error","status_checked_at":"2026-04-04T09:13:01.683Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firebase-auth","management-system","miniatures","painting","pwa","slim4","vitejs-react"],"created_at":"2026-04-04T10:02:23.715Z","updated_at":"2026-04-04T10:02:24.225Z","avatar_url":"https://github.com/mhollink.png","language":"TypeScript","funding_links":["https://github.com/sponsors/mhollink","https://buymeacoffee.com/mhollink"],"categories":[],"sub_categories":[],"readme":"# Miniature Inventory \u003c!-- omit in toc --\u003e\n\n## Description\n\nWelcome to the Miniature Inventory project. This is a management tool which allows it's users to input their collection\nof miniatures (be it Warhammer, DnD or anything else) and keep track of their painting progress. The application is uses\na [React (vitejs-react) frontend](https://v2.vitejs.dev/) and\na [Slim4 PHP backend](https://www.slimframework.com/docs/v4/) (due to server restraints).\n\n![Inventory page](./app/public/assets/images/screenshots/dark/collections.png)\n*Inventory page inside the application*\n\n## Table of contents\n\n* [Feature Highlights:](#feature-highlights)\n* [Using the application](#using-the-application)\n* [Contributing](#contributing)\n  * [Instructions](#instructions)\n* [Running the project locally](#running-the-project-locally)\n  * [The API \u0026 Database](#the-api--database)\n    * [API Client (Postman)](#api-client-postman)\n\n## Feature Highlights:\n\n- Creating a custom (painting) workflow that fits you best\n- Organizing your collection of miniatures in 3 levels; *Collections \u003e Groups \u003e Models*\n- Graphs on your overall progress \u0026 progress per group\n- Saving a list of all the paints you own with easy dropdowns for common brands\n    - Currently supporting only Citadel\n- Authenticate via Firebase Auth, allowing email/password \u0026 Google sign in.\n\n## Using the application\n\nYou can use the application on [miniature-inventory.nl/](https://miniature-inventory.nl/). Start by logging in with\nGoogle or by creating an account using the sign-up page. After logging in head to\nthe [settings page](https://miniature-inventory.nl/settings) (link under profile icon in the top right) and set up your\ncustom workflow.\n\nWith workflow all set up you can start creating collections, groups, miniatures.\n\n## Contributing\n\nWe welcome any and all contributions! Here are some ways you can get started:\n\n1. **Report bugs**: If you encounter any bugs, please let us know. Open up an issue and let us know the problem.\n2. **Contribute code**: If you are a developer and want to contribute, follow the instructions below to get started!\n3. **Suggestions**: If you don't want to code but have some awesome ideas, open up an issue explaining some updates or\n   imporvements you would like to see!\n4. **Documentation**: If you see the need for some additional documentation, feel free to add some!\n\n### Instructions\n\n1. Fork this repository\n2. Clone the forked repository\n3. Add your contributions (code or documentation)\n4. Commit and push\n5. Submit a pull request\n6. Wait for pull request to be merged\n\n## Running the project locally\n\nThe application is build up into 3 main parts; The webapp, an API and a database. Each of these component can be run\nlocally which allows you to make some changes and test these before commiting / submitting a pull request.\n\n### The API \u0026 Database\n\nThe API and database can be started locally using [Docker](https://www.docker.com/). There is a Dockerfile inside\nthe /api folder which can be used to create an image containing the required environment to run the Slim4 API. Since the\nAPI is connecting to a database and a connection is required between its easier to spin everything up using\ndocker compose.\n\n```shell\n# from the root directory:\ndocker compose up\n```\n\n\u003e Note: Running the api container automatically creates/overwrites your .env file with the local database credentials.\n\n#### API Client (Postman)\n\nAfter the containers are started you can open up an API client like [Postman](https://www.postman.com/)\nor [Thunder Client](https://www.thunderclient.com/). There is a postman collection in the repository you can\nuse if you decide on using Postman.\n\n\u003e Note: Each request must have an Authorization header consisting a bearer token. For development, it's not necessary to\n\u003e have a valid token (as its being mocked in the [$tokenMiddleware](./api/src/middleware/token-verification.php#L34)).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhollink%2Fminiature-inventory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhollink%2Fminiature-inventory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhollink%2Fminiature-inventory/lists"}