{"id":13482925,"url":"https://github.com/crystal-community/crystal-ann","last_synced_at":"2025-07-27T14:31:08.712Z","repository":{"id":84560616,"uuid":"96698413","full_name":"crystal-community/crystal-ann","owner":"crystal-community","description":"Web site to announce new Crystal projects, blog posts, updates and other work activities","archived":false,"fork":false,"pushed_at":"2022-11-15T07:29:36.000Z","size":1237,"stargazers_count":45,"open_issues_count":5,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-30T01:44:51.825Z","etag":null,"topics":["amber-framework","announcements","crystal"],"latest_commit_sha":null,"homepage":"https://crystal-ann.com","language":"CSS","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/crystal-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-07-09T17:00:13.000Z","updated_at":"2024-02-28T06:10:38.000Z","dependencies_parsed_at":"2023-03-12T23:38:20.917Z","dependency_job_id":null,"html_url":"https://github.com/crystal-community/crystal-ann","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-community%2Fcrystal-ann","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-community%2Fcrystal-ann/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-community%2Fcrystal-ann/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crystal-community%2Fcrystal-ann/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crystal-community","download_url":"https://codeload.github.com/crystal-community/crystal-ann/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227810270,"owners_count":17823176,"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":["amber-framework","announcements","crystal"],"created_at":"2024-07-31T17:01:06.759Z","updated_at":"2025-07-27T14:31:08.685Z","avatar_url":"https://github.com/crystal-community.png","language":"CSS","funding_links":[],"categories":["Amber","Projects friendly to Hacktoberfest 1st time contributors"],"sub_categories":["CSS"],"readme":"# Crystal [ANN]\n[![GitHub release](https://img.shields.io/github/release/crystal-community/crystal-ann.svg)](https://github.com/crystal-community/crystal-ann)\n[![Amber Framework](https://img.shields.io/badge/using-amber%20framework-orange.svg)](http://www.amberframework.org/)\n[![Twitter Follow](https://img.shields.io/twitter/follow/crystallang_ann.svg?style=social\u0026label=Follow)](https://twitter.com/crystallang_ann)\n\n\u003cp\u003e\n  \u003cimg src=\"https://github.com/veelenga/bin/raw/master/crystal-ann/ipad_mockup.png\" width=\"600\" /\u003e\n  \u003cimg src=\"https://github.com/veelenga/bin/raw/master/crystal-ann/iphone_mockup.png\" width=\"200\" /\u003e\n\u003c/p\u003e\n\n## Notice\n\n**Crystal [ANN] is no longer maintained. Website was taken down as of March 2025**.\n\nThe announcement data has been exported and preserved in the `db/data` folder:\n\n- `announcements.json.gz`: JSON format of all announcements\n- `announcements.sql.gz`: SQL dump of the announcements table\n\nThis repository remains available for historical reference and educational purposes.\n\n## Setup\n\n1. [Install Crystal](https://crystal-lang.org/docs/installation/index.html)\n2. [Install Amber Framework](https://docs.amberframework.org/amber/getting-started)\n3. [Install Postgres](http://postgresguide.com/setup/install.html)\n4. Create `crystal_ann` and `crystal_ann_test` pg databases\n\n## Development\n\n1. Install project dependencies:\n\n```\n$ shards install\n```\n\n2. Run database migrations:\n\n```\n$ amber db migrate\n```\n\n3. Seed data:\n\n```\n$ amber db seed\n```\n\n4. Start app and watch for source changes:\n\n```\n$ amber w\n```\n\n## Testing\n\nMigrate test database and run specs:\n\n```\n$ MICRATE_RUN_UP=true crystal spec\n```\n\n## Docker\n\nRun the app using docker-compose\n\n``` sh\ndocker-compose up\n```\n\n## Deployment to Heroku\n\n```\n$ heroku create app-name --buildpack https://github.com/crystal-lang/heroku-buildpack-crystal.git\n$ heroku buildpacks:add https://github.com/veelenga/heroku-buildpack-sidekiq.cr\n$ git push heroku master\n```\n\nAnd set environment variables with `heroku config:set VAR=VAL`:\n\n```\nAMBER_ENV\nAMBER_SESSION_SECRET\n\nMICRATE_RUN_UP\nREDIS_PROVIDER\n\nGITHUB_ID\nGITHUB_SECRET\n\nTWITTER_CONSUMER_KEY\nTWITTER_CONSUMER_SECRET\nTWITTER_ACCESS_TOKEN\nTWITTER_ACCESS_TOKEN_SECRET\n\nTWITTER_OAUTH_CONSUMER_KEY\nTWITTER_OAUTH_CONSUMER_SECRET\n```\n\n## Contributors\n\n* [veelenga](https://github.com/veelenga) V. Elenhaupt - creator, maintainer\n* [hugoabonizio](https://github.com/hugoabonizio) Hugo Abonizio - contributor, maintainer\n* [janczer](https://github.com/janczer) Janczer - contributor\n* [lex111](https://github.com/lex111) Alexey Pyltsyn - contributor\n* [vaibhavsingh97](https://github.com/vaibhavsingh97) Vaibhav Singh - contributor\n* [PAPERPANKS](https://github.com/PAPERPANKS) Pankaj Kumar Gautam - contributor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrystal-community%2Fcrystal-ann","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrystal-community%2Fcrystal-ann","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrystal-community%2Fcrystal-ann/lists"}