{"id":16323121,"url":"https://github.com/danielstjules/labtracker","last_synced_at":"2025-05-14T14:13:51.445Z","repository":{"id":3989376,"uuid":"5085603","full_name":"danielstjules/labtracker","owner":"danielstjules","description":"Django app used to keep track of equipment information and use in a university lab setting","archived":false,"fork":false,"pushed_at":"2013-06-07T22:18:46.000Z","size":738,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-17T03:47:12.417Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielstjules.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-07-17T17:49:17.000Z","updated_at":"2022-09-22T10:30:45.000Z","dependencies_parsed_at":"2022-08-06T14:30:22.189Z","dependency_job_id":null,"html_url":"https://github.com/danielstjules/labtracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielstjules%2Flabtracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielstjules%2Flabtracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielstjules%2Flabtracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielstjules%2Flabtracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielstjules","download_url":"https://codeload.github.com/danielstjules/labtracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160570,"owners_count":22024571,"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":[],"created_at":"2024-10-10T22:54:00.892Z","updated_at":"2025-05-14T14:13:51.396Z","avatar_url":"https://github.com/danielstjules.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"labtracker\n===========\n\nlabtracker is a Django app developed at the request of [Dr. Ramon Maldonado-Basilio](\u003chttp://ptlab.site.uottawa.ca/dr-ramon-maldonado-basilio/\u003e), a Post-Doctorial Researcher at the University of Ottawa. It has been designed to keep track of equipment information and use in a university lab setting. It was written by Vladimir Suse and myself in our free time.\n\n![screenshot](http://danielstjules.com/labtracker/screenshot.gif)\n\nDescription\n-----------\n\n* Designed to be used on a private network, and requires that the admin generate all user accounts\n* Items are requested for use by users, and the administration approve requests\n* Requests can change between 5 statuses: Pending, Approved, Active (item in-use), Completed and Declined\n* Timestamps for each status change are logged for future reports\n* Both users and admin can comment on a request\n* Users are notified of any changes to their request status, including new comments\n\nDevelopment Env Setup\n---------------------\n\nThe following brief instructions assume that git, python, MySQL, [pip](http://www.pip-installer.org/en/latest/) and [virtualenv](https://pypi.python.org/pypi/virtualenv) are installed. Note that these instructions are not intended for a production environment. Consider using Apache with mod_python, or Gunicorn along with Nginx. And be sure to modify settings.py for use in a production environment.\n\nDownload project and other dependencies:\n\n\t$ mkdir /www\n\t$ cd /www\n\t$ git clone https://github.com/danielstjules/labtracker.git\n\t$ virtualenv labtracker\n\t$ cd labtracker\n\t$ source bin/activate\n\t$ pip install django\n\t$ pip install xlwt\n\nSetup MySQL DB:\n\n\t$ mysql -u user -p\n\t\u003e CREATE DATABASE labdb;\n\t\u003e CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'password';\n\t\u003e GRANT ALL PRIVILEGES ON labdb.* TO 'db_user'@'localhost';\n\t\u003e exit\n\nModify website/settings.py, update DATABASES with your DB info:\n\n\t$ mv website/settings.example.py website/settings.py\n\t$ vi settings.py\n\nRun syncdb and collectstatic:\n\n\t$ python manage.py syncdb\n\t$ python manage.py collectstatic\n\nRun the server, and go to http://localhost to view it\n\n\t$ python manage.py runserver 0.0.0.0:8000\n\nImporting items/equipment from a CSV:\n-------------------------------------\n\nGiven existing data, one can import a csv to populate the MySQL db. As an example:\n\n\t$ mysql -u user -p --local-infile\n\t$ use labdb\n\t\u003e load data local infile '/path/to/file.csv' into table labtracker_item fields terminated by ','\n\tenclosed by '\"'\n\tlines terminated by '\\n'\n\t(local_num,location,cfi,part_class,company,part_num,serial_num,asset_num,description,notes);\n\nGenerating Reports\n------------------\n\n![reports-screenshot](http://danielstjules.com/labtracker/reports.gif)\n\nLabtracker requires [xlwt](https://pypi.python.org/pypi/xlwt) for generating Excel reports:\n\n\t$ pip install xlwt\n\nRunning Tests\n-------------\n\nFirstly, [django-dynamic-fixture](https://github.com/paulocheque/django-dynamic-fixture) is used to generate model instances for testing purposes. It can be installed by running:\n\n\t$ pip install django-dynamic-fixture\n\nAnd [selenium](http://selenium-python.readthedocs.org/en/latest/) is used for functional tests. We use the FireFox WebDriver. Selenium can be installed using:\n\n\t$ pip install selenium\n\nThen, to run the tests included in labtracker, simply navigate to the project folder and run:\n\n\t$ python manage.py test labtracker\n\nAuthors\n-------\n\nApplication created by Daniel St. Jules, along with contributions from Vladimir Suse.\n\nLicensing\n---------\n\nLicensed under the GPLv3. See LICENSE.txt for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielstjules%2Flabtracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielstjules%2Flabtracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielstjules%2Flabtracker/lists"}