{"id":13819440,"url":"https://github.com/notesclub/notesclub","last_synced_at":"2025-05-16T04:33:51.580Z","repository":{"id":58728272,"uuid":"524938291","full_name":"notesclub/notesclub","owner":"notesclub","description":"Discover Livebook notebooks (Elixir)","archived":false,"fork":false,"pushed_at":"2024-08-29T12:36:04.000Z","size":888,"stargazers_count":76,"open_issues_count":12,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-30T13:01:45.330Z","etag":null,"topics":["elixir","livebook","phoenix"],"latest_commit_sha":null,"homepage":"https://notes.club","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/notesclub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":["hectorperez"]}},"created_at":"2022-08-15T10:08:37.000Z","updated_at":"2024-08-29T12:22:52.000Z","dependencies_parsed_at":"2023-02-15T15:46:35.730Z","dependency_job_id":"b7f30771-838c-48f2-9692-2c30b8ec2ce4","html_url":"https://github.com/notesclub/notesclub","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/notesclub%2Fnotesclub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notesclub%2Fnotesclub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notesclub%2Fnotesclub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notesclub%2Fnotesclub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notesclub","download_url":"https://codeload.github.com/notesclub/notesclub/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225405628,"owners_count":17469387,"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":["elixir","livebook","phoenix"],"created_at":"2024-08-04T08:00:47.834Z","updated_at":"2024-11-19T18:32:09.809Z","avatar_url":"https://github.com/notesclub.png","language":"Elixir","funding_links":["https://github.com/sponsors/hectorperez"],"categories":["Happy Exploring 🤘"],"sub_categories":[],"readme":"# Notesclub · Discover Livebook Notebooks\n\nEvery day we add new Livebook notebooks from Github.\n\nhttps://notes.club\n\n# Get involved\n\nWelcome to Notesclub!\n\nFeel free to:\n- [Take an issue](https://github.com/notesclub/notesclub/issues)\n- Propose a new issue\n- Refactor existent code\n- Add documentation\nThanks!\n\n# Run it locally\n\nTo start your Phoenix server:\n\n  * Install dependencies with `mix deps.get`\n  * Start the Postgres database with `docker-compose up`\n  * Create and migrate your database with `mix ecto.setup`\n  * Start Phoenix endpoint with `mix phx.server` or inside IEx with `iex -S mix phx.server`\n\nNow you can visit [`localhost:4000`](http://localhost:4000) from your browser.\n\nReady to run in production? Please [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html).\n\n## Secrets\n\nTo use tests with the `:github_api` tag, and to interact with the GitHub API the project requires a [GitHub API key](https://github.com/settings/tokens/new).\nCreate a `config/test_secrets.exs` template file.\n\nReplace **GITHUB_API_KEY** with a GitHub API Key.\n\n```elixir\n# Create a secret.exs file with the following content.\n# Replace GITHUB_API_KEY with your github api key.\nimport Config\n\nconfig :notesclub, :github_api_key, \"GITHUB_API_KEY\"\n```\n\nTo use GitHub API in development, create a similar `config/dev_secrets.exs`\n\n`seeds.exs` already imports some example notebooks so you don't need to download notebooks from GitHub for most things.\n\nYet, to download new notebooks you can set `GITHUB_API_KEY` as explained above and run:\n\n```elixir\n%{page: 1}\n|\u003e Notesclub.Workers.RecentNotebooksWorker.new()\n|\u003e Oban.insert()\n```\n\nAnd to reload all notebooks already present in your db:\n```elixir\n%{}\n|\u003e Notesclub.Workers.AllUserNotebooksSyncWorker.new()\n|\u003e Oban.insert()\n```\n\n### Sign in with Github functionality\n\nTo set up this functionality during development, follow these steps to create a GitHub OAuth application:\n\n1. **Log in to GitHub**: Sign in to your GitHub account.\n\n2. **Navigate to Settings**: Click on your profile picture in the top right corner, then select \"Settings.\"\n\n3. **Access Developer Settings**: Scroll down to the bottom of the left sidebar and click on \"Developer settings.\"\n\n4. **Create an OAuth App**: Under \"OAuth Apps,\" click on \"New OAuth App.\"\n\n5. **Fill in Details**:\n   - **Application Name**: Provide a descriptive name for your app.\n   - **Homepage URL**: Enter the URL where users can learn more about your app.\n   - **Authorization callback URL**: This is the URL where GitHub will redirect users after they authorize your app. For local development, you can use `http://localhost:YOUR_PORT/auth/github/callback`.\n\n6. **Generate Client ID and Client Secret**:\n   - Once you've filled in the details, click \"Register application.\"\n   - You'll receive a **Client ID** and a **Client Secret**. These are essential for authenticating with GitHub.\n\n7. **Replace Variables in Your Code**:\n   - Create a `config/dev_secrets.exs` file and replace `GITHUB_OAUTH_CLIENT_ID` and `GITHUB_OAUTH_CLIENT_SECRET` with the actual values you received from GitHub:\n\n  ```elixir\n  # Create a dev_secrets.exs file with the following content.\n  # Replace GITHUB_API_KEY with your github api key.\n  import Config\n\n  config :ueberauth, Ueberauth.Strategy.Github.OAuth,\n    client_id: \"GITHUB_OAUTH_CLIENT_ID\",\n    client_secret: \"GITHUB_OAUTH_CLIENT_SECRET\"\n  ```\n\n# Powered by\nPowered by [AppSignal](https://www.appsignal.com) and [Oban Pro](https://getoban.pro)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotesclub%2Fnotesclub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotesclub%2Fnotesclub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotesclub%2Fnotesclub/lists"}