{"id":22109437,"url":"https://github.com/watasuke102/tagether","last_synced_at":"2026-03-04T07:32:41.637Z","repository":{"id":41180435,"uuid":"322974681","full_name":"watasuke102/TAGether","owner":"watasuke102","description":"Share your self-made exam with classmates","archived":false,"fork":false,"pushed_at":"2025-12-03T13:19:36.000Z","size":3162,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-12-05T09:43:47.264Z","etag":null,"topics":["nextjs","react","studying"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/watasuke102.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-20T01:59:28.000Z","updated_at":"2025-12-03T12:36:15.000Z","dependencies_parsed_at":"2023-12-02T11:24:13.540Z","dependency_job_id":"c8de4167-d0e9-4969-a8d6-e559108880f4","html_url":"https://github.com/watasuke102/TAGether","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/watasuke102/TAGether","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watasuke102%2FTAGether","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watasuke102%2FTAGether/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watasuke102%2FTAGether/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watasuke102%2FTAGether/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/watasuke102","download_url":"https://codeload.github.com/watasuke102/TAGether/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watasuke102%2FTAGether/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30075431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T05:31:57.858Z","status":"ssl_error","status_checked_at":"2026-03-04T05:31:38.462Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["nextjs","react","studying"],"created_at":"2024-12-01T09:32:56.933Z","updated_at":"2026-03-04T07:32:41.619Z","avatar_url":"https://github.com/watasuke102.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# TAGether - Share your self-made exam with classmates\n\n![tagether-logo](/public/static/logo.png)\n\n\u003c/div\u003e\n\n## What's this\n\nテスト対策問題のような問題を作成し、クラスの人と共有できるようなサービスです。\n\n## How to use\n\n1. [Google Cloud Console](https://console.cloud.google.com/apis/credentials/oauthclient) でOAuthクライアントを作成\n   あるいは後述のenv.tsにおいて、`DISABLE_LOGIN_FEATURE_ON_DEVELOPING`をtrueに設定する\n1. `cp sample-env.ts env.ts`\n1. env.tsを編集し、OAuthのclient idなどを適切に設定する\n1. `./start.sh` (本番環境は`./start.sh product`)\n\n## docker-compose について\n\n最新情報は compose.yaml をチェックしてね\n\n| 名前                     | ポート |\n| ------------------------ | ------ |\n| フロントエンド (Next.js) | 3009   |\n| phpMyAdmin               | 8888   |\n| MySQL                    | 3334   |\n\n## ディレクトリ構造\n\n### /public\n\nfavicon など\n\n### /src\n\nReact (Next.js) によるフロントエンド\n\n- app/\n  Next.js App router\n- assets/\n  アイコンのsvg（基本的に[Google Fonts](https://fonts.google.com/icons)から取ってきたもの）\n- db/\n  drizzleのschemaとMySQLへ接続する関数\n- components/\n  - common/ → 共通して使うコンポーネント\n  - features/ → 機能ごとに分ける\n- tests/\n  Vitestによるテスト\n- types/\n  型定義\n- utils/\n  JSXを返却しない関数群\n\n### /docker\n\ndocker compose 用\n\n- mysql/  \n  DB 初期化の `db_init.sql`\n\n## LICENSE\n\nDual-licensed; MIT (`LICENSE-MIT` or [The MIT License – Open Source Initiative](https://opensource.org/license/mit/)) or MIT SUSHI-WARE LICENSE (`LICENSE-MIT_SUSHI.md`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwatasuke102%2Ftagether","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwatasuke102%2Ftagether","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwatasuke102%2Ftagether/lists"}