Skip to content

Commit

Permalink
Add: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jujunjun110 committed Sep 28, 2024
0 parents commit cb32497
Show file tree
Hide file tree
Showing 34 changed files with 1,896 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/DEVELOPERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# 開発者向け情報 (DEVELOPERS.md)

このドキュメントは、このプロジェクトに貢献するための開発者向けガイドラインです。

## 目次

- [開発者向け情報 (DEVELOPERS.md)](#開発者向け情報-developersmd)
- [目次](#目次)
- [リポジトリの目的](#リポジトリの目的)
- [公式ドキュメント](#公式ドキュメント)
- [プロジェクトレイアウト](#プロジェクトレイアウト)
- [ローカルでのビルド方法](#ローカルでのビルド方法)
- [docs内markdown作成時の注意](#docs内markdown作成時の注意)

## リポジトリの目的

このリポジトリは、安野たかひろのマニフェストをGitHub上で管理し、皆さんが自由に議論し、変更提案を行えるようにすることを目的としています。

- マニフェストがマークダウンで記載されており、誰でもissueやPRを出すことができます。
- issue機能を使って政策について自由に議論できます。

## 公式ドキュメント

詳しいドキュメントは [mkdocs.org](https://www.mkdocs.org) をご覧ください。

## プロジェクトレイアウト

このリポジトリは以下のような構造になっています:

```plaintext
mkdocs.yml # 設定ファイル
docs/
index.md # ドキュメントのホームページ
... # その他のマークダウンページ、画像、その他のファイル
```

## ローカルでのビルド方法

ローカル環境でドキュメントをビルドする手順は以下の通りです:

1. Pythonとpipがインストールされていることを確認してください。
2. 必要なパッケージをインストールします:
```bash
pip install mkdocs
pip install mkdocs-material
```
3. リポジトリのディレクトリに移動して、以下のコマンドを実行します:
```bash
mkdocs serve
```
サーバーが立ち上がり、<http://127.0.0.1:8000/> でドキュメントを確認できます。

docsファイルを編集すると、リアルタイムでブラウザに反映されます。表示を確認しながらドキュメントを作成できます。

## docs内markdown作成時の注意

MkDocsのバグにより、リストのインデントはスペース4つでないと機能しません。エディタのタブのサイズを4に設定することを推奨します。
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/maniifest_issue_template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: マニフェスト提言
description: マニフェスト提言用のテンプレート
body:
- type: dropdown
attributes:
label: 政策ビジョン
description: 該当する政策カテゴリを一つ選んでください
multiple: true
options:
- 経済
- 医療・防災
- 教育・子育て
- 行政
- 民主主義
- その他
validations:
required: true
- type: textarea
attributes:
label: 政策
description: できる限りの記入をお願いします
validations:
required: true
- type: textarea
attributes:
label: 必要だと思ったきっかけ
validations:
required: false
- type: textarea
attributes:
label: なぜ必要か
validations:
required: false
- type: textarea
attributes:
label: この Issue で議論したいこと
validations:
required: false
- type: textarea
attributes:
label: 調べたこと(裏付けとなる事実・ファクト)
validations:
required: false
- type: textarea
attributes:
label: 自由記述欄
validations:
required: false
33 changes: 33 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/manifest_pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: マニフェスト変更提案
about: マニフェスト変更提案用のテンプレートです
title: ''
labels: ''

---

## 政策ビジョン

<!-- 一つ選んでください -->

- [ ] 経済
- [ ] 医療・防災
- [ ] 教育・子育て
- [ ] 行政
- [ ] 民主主義

## 対応するissue

<!-- issueの番号を「#10」のように記載すると自動的にリンクが作成され、読み手が確認しやすくなります。URLをそのまま貼ってもOKです。 -->
<!-- ない場合は不要です -->
ref #

## 政策

<!-- できる限り記入をおねがいします -->

### 必要だと思ったきっかけ

### なぜ修正するのか(修正の趣旨)

### 安野たかひろへひとこと
95 changes: 95 additions & 0 deletions .github/developer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# 開発者・利用者向けREADME

トップページのREADMEは有権者が訪れるため、本リポジトリを用いて意見聴取や制作管理を行いたい開発者・利用者向けのREADMEはこちらに記載します。

## リポジトリの構造

```
| .gitignore
| LICENSE
| mkdocs.yml (mkdocs内のページ構造を制御)
| README.md (リポジトリを見に来てくれた有権者向けREADME)
| requirements.txt (mkdocs関連のバージョン設定)
|
+---.github (GitHubに関する設定ファイル)
| | DEVELOPERS.md
| | requirements.txt (スクリプト関連のバージョン設定)
| |
| +---developer
| | initialize_qdrant_collection.py
| | local_deploy.md (ローカル開発ガイド)
| | README.md (リポジトリ全体の構造や使い方について説明:このページ)
| |
| +---ISSUE_TEMPLATE (issueテンプレートの設定ファイル)
| | manifest_issue_template.yaml
| |
| +---PULL_REQUEST_TEMPLATE (PRテンプレートの設定ファイル)
| | manifest_pull_request_template.md
| |
| +---scripts (モデレート機能の設定ファイル)
| | .env.example
| | README.md
| | review_issue.py
| |
| \---workflows (ワークフロー系機能の設定ファイル)
| add-label.yml
| comment-review.yml
| issue-review.yml
| main.yml
|
+---docs (この中身がmkdocs上HPとして公開されます。ディレクトリ構造は mkdocs.yml で設定)
| | CNAME
| | contribution.md
| | index.md
| | manual_issue.md
| | manual_pull_request.md
| |
| +---images
| | editing_manifest.png
| | fork_button.png
| | get_started.png
| | new_comment.png
| | new_issue.png
| | pencil_button.png
| | select_manifest.png
| | sign_in_and_up.png
| |
| \---manifest
\---overrides
main.html
```

## 利用者の導線

```mermaid
flowchart TD
subgraph github.com
A[README.md] ---B[docs/]
B---C[manifests.md]
subgraph suggesting actions
I(issue)-->C
P(PR)-->C
end
end
subgraph mkdocs/GitHub Pages
D[index.md]-->|docsフォルダ配下を\nHPライクに閲覧できる|B
end
```

- GitHub.comだけでも完結できます、GitHubのUIに慣れていない人向けに、mkdocsを用いて作成したHPでdocsフォルダ以下の内容を確認することができます。
- GitHub Pagesで公開可能です
- ただし、issueを立てる、PRを出すといった行動はGitHub.com内でしかすることができません。
- `README.md``index.md`は置かれている位置が異なるが同じ内容となるように記載するのが望ましいです。
- `README.md`はGitHubのトップに置かれますが、`index.md`はdocsフォルダのトップに置かなければなりません。
- いずれもそれぞれの導線におけるトップページとなるため、同一内容のトップページを二カ所に置く必要が生じています。

## デプロイ方法

- ローカル環境の立ち上げは[こちら](\local_deploy.md)を参照
- mkdocsによるHPの立ち上げ方法は[公式ドキュメント](https://www.mkdocs.org/user-guide/deploying-your-docs/)をご覧ください。
- GitHub Pagesでの公開は可能な[アカウントプランに制限](https://docs.github.com/ja/pages/getting-started-with-github-pages/about-github-pages)があるためご注意ください。

## Tips

- マニフェスト本体以外の部分(特に、有権者に対するご案内の部分)については公開当時のまま残しております。
- 利用用途に応じて、編集してご利用ください。
40 changes: 40 additions & 0 deletions .github/developer/initialize_qdrant_collection.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from qdrant_client import QdrantClient
from qdrant_client.http import models
from dotenv import load_dotenv
import os

load_dotenv()

QDRANT_URL = os.getenv('QD_URL')
QDRANT_API_KEY = os.getenv('QD_API_KEY')

print(f"API Key: {QDRANT_API_KEY[:5]}...{QDRANT_API_KEY[-5:]}") # API keyの最初と最後の5文字のみを表示

client = QdrantClient(url=QDRANT_URL, api_key=QDRANT_API_KEY)
print(f"Attempting to connect to Qdrant at: {QDRANT_URL}")

try:
# コレクションの一覧を取得(これは通常、より低い権限で可能)
collections = client.get_collections()
print("Existing collections:")
print(collections)
except Exception as e:
print(f"Error getting collections: {str(e)}")

try:
# コレクションの作成を試みる
client.create_collection(
collection_name="issue_collection",
vectors_config=models.VectorParams(size=1536, distance=models.Distance.COSINE),
)
print("Collection 'issue_collection' created successfully")
except Exception as e:
print(f"Error creating collection: {str(e)}")

# 既存のコレクションの詳細情報取得を試みる
try:
collection_info = client.get_collection("issue_collection")
print("Collection info:")
print(collection_info)
except Exception as e:
print(f"Error getting collection info: {str(e)}")
Loading

0 comments on commit cb32497

Please sign in to comment.