{"id":15645433,"url":"https://github.com/tylergaw/dicomr","last_synced_at":"2026-05-06T22:08:03.717Z","repository":{"id":137993532,"uuid":"85652352","full_name":"tylergaw/dicomr","owner":"tylergaw","description":"A web application for uploading and viewing DICOM images. (built for an interview process)","archived":false,"fork":false,"pushed_at":"2017-04-10T02:26:48.000Z","size":27,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-28T23:11:10.326Z","etag":null,"topics":["boto3","dicom","flask","flask-sqlalchemy","postgresql","python36"],"latest_commit_sha":null,"homepage":"","language":"Python","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/tylergaw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2017-03-21T02:57:21.000Z","updated_at":"2023-02-07T07:52:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"19ab16f8-ce0b-4137-805f-bdb513e9eb16","html_url":"https://github.com/tylergaw/dicomr","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/tylergaw%2Fdicomr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylergaw%2Fdicomr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylergaw%2Fdicomr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tylergaw%2Fdicomr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tylergaw","download_url":"https://codeload.github.com/tylergaw/dicomr/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246254109,"owners_count":20747948,"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":["boto3","dicom","flask","flask-sqlalchemy","postgresql","python36"],"created_at":"2024-10-03T12:07:31.782Z","updated_at":"2026-05-06T22:07:58.684Z","avatar_url":"https://github.com/tylergaw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dicomr\n\n## NOTE: This project was a POC, not intended for real use. It might be helpful as Flask examples.\n\n[https://dicomr.herokuapp.com/](https://dicomr.herokuapp.com/)\n\nA web application for uploading and viewing DICOM images.\n\n## Local setup\n\n### Requirements\n\n- Python 3.6.0\n- Postgres 9.4+ _(we're using the jsonb type introduced in 9.4)_\n\n**Soft requirements**\n\nThese are Python tools that have alternatives. These are the ones I use and I know will work well for this project\n- [pyenv](https://github.com/pyenv/pyenv)\n- [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)\n\n### Create and activate a virtual env using Python 3.6.0.\n\n```\npyenv virtualenv 3.6.0 dicomr\npyenv activate dicomr\n```\n\n### Create and set environment variables\n\nCopy `.env.example` to `.env` and update the values for each variable for your use.\n\n```\ncp .env.example .env\n```\n\nThen export the env vars for use in the app. **Note** These env vars must be created on any system where the app is to be run.\n\n```\nsource .env\n```\n\n### Create the database\n\nIn `.env` the default name is \"dicomr\". You can name your local db anything.\nNOTE: You must have Postgres installed and configured properly. If you don't,\nI recommend: [Postgres.app](https://postgresapp.com/)\n\n```\ncreatedb dicomr\n```\n\n### Install project requirements.\n\n```\npip install .\n```\n\n#### A note on local file uploads\n\n[🙃 THIS IS CURRENTLY NOT TRUE. I BROKE THIS AND JUST STARTED USING A NON-PROD S3 BUCKET FOR LOCAL UPLOADS 🙃]\n\nDuring local development we don't want to upload files to S3. Instead we just\nsave them to a local directory that is ignored. Because it's ignored you'll\nneed to create it.\n\n```\nmkdir dicomr/static/uploads/tmp\n```\n\n### Run migrations\n\n**NOTE**: Any changes made to app models in `models.py` require migrations. After making model changes create migrations with `flask db migrate`. Commit those changes.\n\n```\nflask db upgrade\n```\n\n### Run the project\n```\nflask run\n```\n\nDicomr is available at [http://localhost:5000](http://localhost:5000).\n\n## Misc developer info\n\n### `flask clear_records`\n\nFrom time to time its nice to clear out all the Record rows from the database. Both locally and in remote DBs. To make that faster there is a Flask CLI command.\n\n```\nflask clear_records\n```\n\nThis is especially helpful on remote DBs. For instance running this on Heroku:\n\n```\nheroku run flask clear_records\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylergaw%2Fdicomr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftylergaw%2Fdicomr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftylergaw%2Fdicomr/lists"}