{"id":26280798,"url":"https://github.com/tattersoftware/bluesmith","last_synced_at":"2026-05-16T23:31:18.945Z","repository":{"id":54469629,"uuid":"520221377","full_name":"tattersoftware/bluesmith","owner":"tattersoftware","description":"3D Print Job Management","archived":false,"fork":false,"pushed_at":"2023-03-06T13:14:55.000Z","size":4323,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2024-05-01T09:41:08.995Z","etag":null,"topics":["3d-printing","codeigniter","job-management","php"],"latest_commit_sha":null,"homepage":"https://gitlab.oit.duke.edu/academic-technology/bluesmith","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tattersoftware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2022-08-01T18:29:51.000Z","updated_at":"2023-01-31T20:08:50.000Z","dependencies_parsed_at":"2023-02-18T06:45:16.799Z","dependency_job_id":null,"html_url":"https://github.com/tattersoftware/bluesmith","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tattersoftware%2Fbluesmith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tattersoftware%2Fbluesmith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tattersoftware%2Fbluesmith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tattersoftware%2Fbluesmith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tattersoftware","download_url":"https://codeload.github.com/tattersoftware/bluesmith/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243597836,"owners_count":20316845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["3d-printing","codeigniter","job-management","php"],"created_at":"2025-03-14T15:17:52.492Z","updated_at":"2026-05-16T23:31:13.916Z","avatar_url":"https://github.com/tattersoftware.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bluesmith\n\n[![GitLab status](https://gitlab.oit.duke.edu/academic-technology/bluesmith/badges/develop/pipeline.svg)](https://gitlab.oit.duke.edu/academic-technology/bluesmith/commits/develop)\n[![](https://github.com/tattersoftware/bluesmith/workflows/PHPUnit/badge.svg)](https://github.com/tattersoftware/bluesmith/actions/workflows/phpunit.yml)\n[![](https://github.com/tattersoftware/bluesmith/workflows/PHPStan/badge.svg)](https://github.com/tattersoftware/bluesmith/actions/workflows/phpstan.yml)\n[![](https://github.com/tattersoftware/bluesmith/workflows/Deptrac/badge.svg)](https://github.com/tattersoftware/bluesmith/actions/workflows/deptrac.yml)\n[![Coverage Status](https://coveralls.io/repos/github/tattersoftware/bluesmith/badge.svg?branch=develop)](https://coveralls.io/github/tattersoftware/bluesmith?branch=develop)\n\n3D Print manager, Bluesmith (https://bluesmith.oit.duke.edu)\n\nby Duke University OIT\n\n(CodeIgniter 4 port of https://gitlab.oit.duke.edu/msg8/bluesmith)\n\n## Requirements\n\n**Bluesmith** is built on version 4 the CodeIgniter PHP framework. You will need to be\nsure your environment meets all of the framework's\n[system requirements](https://codeigniter4.github.io/userguide/intro/requirements.html).\nFramework requirements may change but here is a good start:\n\n* PHP 8.0 or newer\n* PHP extensions (`php -m`): intl, json, mbstring, mysqlnd, xml, curl\n* A database with one of the framework's supported drivers\n\nSome additional requirements may depend on your choice of web host. See \"Hosting with ...\"\nin the CodeIgniter [User Guide](https://codeigniter4.github.io/userguide/installation/running.html).\n\n## Installation\n\n### Overview\n\n1. Clone or download the repository\n2. Configure your environment\n3. Run installation scripts\n\n### Configure\n\n1. In the root directory, copy **env** to **.env** and edit the new file:\n\t* Set `app.baseURL` to your site (with trailing slash), e.g. 'https://bluesmith.example.edu/'\n\t* Set all variables in the `DATABASE` section for the `default` group\n\t* `forceGlobalSecureRequests` is recommended but requires a valid HTTPS configuration\n2. Set your web host to serve the **public/** directory\n\n### Install/Upgrade\n\nRun the provided **install.sh** script which will do the following:\n\n1. Install all packages and dependencies with the following command in the root directory:\n\t* `composer install`\n2. Migrate the database:\n\t* `php spark migrate -all`\n3. Seed the database with the necessary initial values:\n\t* `php spark db:seed InitialSeeder`\n4. Publish asset files to the web root:\n\t* `php spark assets`\n5. Locate and cache handlers:\n\t* `php spark handlers:cache`\n\n## Customization\n\n**Bluesmith** comes with generic branding and a basic UI, but relishes being customized with\nyour institution's flair. You should leverage the included\n[Themes Library](https://github.com/tattersoftware/codeigniter4-themes) to add your own\nthemes or even replace the default theme (hint: `./spark themes:add`).\n\nThere are a number of places where branding can be changed centrally from the\n[Preferences Library](https://github.com/tattersoftware/codeigniter4-preferences), and a built-in\nCMS that allows for customized text in various places.\n\n## Extending\n\n**Bluesmith** is built off a handful of CodeIgniter 4 libraries that support modular loading.\nThis means it is easy to make your own extensions of existing features without deviating\nfrom the master branch. Create your own directory with whatever modules you wish to extend\nand add it to the list of autoloaded namespaces in **app/Config/Autoload.php**.\n\nFor the bold, jobs are processed through a series of modular actions that can be\nadded/changed/removed with the\n[Workflows Library](https://github.com/tattersoftware/codeigniter4-workflows). \n\nLikewise, the included reports are all generated from modules that can be added to easily\nvia the [Reports Library](https://github.com/tattersoftware/codeigniter4-reports).\n\n## Testing\n\n**Bluesmith** comes bundled with its own unit tests. If you are planning on modifying or\nextending the application you likely will want to run these tests or even add your own.\nTo run the tests...\n\n1. Make sure you have `phpunit` installed (included automatically if you followed the Composer\ninstallation above) and a code coverage\n\n2. Install a code coverage driver like [Xdebug](http://xdebug.org)\n\n3. Rename **phpunit.xml.dist** to **phpunit.xml** and modify the database settings to match your environment\n\n4. Run the tests with the following command in the application root: `composer test`\n\n5. Results are output to the CLI and in the **build/** directory\n\n## License \u0026 Copyright\n\nThis Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0, and is\n\"Incompatible With Secondary Licenses\". Complete license information is available in [LICENSE](LICENSE).\n\nThe original source code and license are hosted by [Duke University](https://duke.edu) on a\nprivate GitLab instance [here](https://gitlab.oit.duke.edu/academic-technology/bluesmith),\nand mirrored to GitHub [here](https://github.com/duke-bluesmith/bluesmith).\n\nThis file is part of a subsequent fork on GitHub hosted [here](https://github.com/tattersoftware/bluesmith)\nand maintained by the original author under different copyright status since August 2, 2022.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftattersoftware%2Fbluesmith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftattersoftware%2Fbluesmith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftattersoftware%2Fbluesmith/lists"}