{"id":18863930,"url":"https://github.com/jwarwick/class_list","last_synced_at":"2025-10-25T12:38:55.759Z","repository":{"id":66704225,"uuid":"65416765","full_name":"jwarwick/class_list","owner":"jwarwick","description":"School directory web application","archived":false,"fork":false,"pushed_at":"2020-09-10T18:19:26.000Z","size":268,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T21:26:48.589Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwarwick.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-10T21:11:20.000Z","updated_at":"2023-07-25T14:03:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"760b2629-2041-4c4a-b18a-a93f4c84d9a1","html_url":"https://github.com/jwarwick/class_list","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/jwarwick%2Fclass_list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarwick%2Fclass_list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarwick%2Fclass_list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarwick%2Fclass_list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwarwick","download_url":"https://codeload.github.com/jwarwick/class_list/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239808523,"owners_count":19700451,"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-11-08T04:39:07.923Z","updated_at":"2025-10-25T12:38:55.674Z","avatar_url":"https://github.com/jwarwick.png","language":"Elixir","readme":"# ClassList\n\n__NOTE:__ This won't work with Postgres \u003e 9.6, because `postgrex` needs to be updated, which requires updates to many other packages. This is a problem when deploying to Heroku.\n\nWeb application to make school classroom directories. Built with Elixir and Phoenix.\n\n## Setup\n  * `mix ecto.setup`\n\nThis will create a default user with email `test@example.com` and a password of `secret` (configurable in `priv/repo/seeds.exs`). Login and delete this user and create a user with a secure password.\n\nNext, create `Classes` and `Buses` from within the admin interface. Those models will populate selection options on the main data entry page. At this point users can enter their information and the directory can be generated.\n\n## Interface\nThe main data entry point is served from `/`, it does not require a login. All administration is done from the `/admin` url, these paths do require a user login.\n\n## Email Notifications\nThe app can send email to inform the maintainer that a new entry has been received. To use this feature, define the environment variables described below. The application uses [Mailgun](mailgun.com) to send email.\n\n## Environment Variables\nDefine the following environment variables to enable certain features\n  * `HTTPS_HOST`: hostname to use in the `config/prod.exs` as the `url:host` name for forcing ssl\n  * `MAILGUN_DOMAIN`: as specified in the Mailgun control panel, something like `https://api.mailgun.net/v3/sandbox-our-domain.mailgun.org`\n  * `MAILGUN_API_KEY`: as specified in the Mailgun control panel\n  * `NOTIFY_EMAIL_TO` and `NOTIFY_EMAIL_FROM`: also need to be defined to use the Mailgun interface\n  * `SUPPORT_EMAIL`: if defined, adds a line of help text with a `mailto` link in to the top of the page\n\n## Heroku Setup\nFollow this guide: http://www.phoenixframework.org/docs/heroku\n  * `heroku addons:create heroku-postgresql:hobby-dev`\n  * `heroku config:set POOL_SIZE=18`\n  * `mix phoenix.gen.secret`\n  * `heroku config:set HTTPS_HOST=\"XXXX\"`\n  * `heroku config:set SECRET_KEY_BASE=\"XXXX\"`\n  * `heroku config:set MAILGUN_DOMAIN=\"XXXX\"`\n  * `heroku config:set MAILGUN_API_KEY=\"XXXX\"`\n  * `heroku config:set NOTIFY_EMAIL_TO=\"XXXX\"`\n  * `heroku config:set NOTIFY_EMAIL_FROM=\"XXXX\"`\n  * `heroku config:set SUPPORT_EMAIL=\"XXXX\"`\n  * `heroku run mix ecto.create` (apparently you can ignore the errors...)\n  * `heroku run mix ecto.migrate`\n  * `heroku run \"POOL_SIZE=2 mix run priv/repo/seeds.exs\"`\n  * Log in with default credentials and set a real password\n\n## License\n\nSee the [LICENSE](LICENSE.md) file for license rights and limitations (MIT).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwarwick%2Fclass_list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwarwick%2Fclass_list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwarwick%2Fclass_list/lists"}