プロジェクトのように?お金が多すぎますか?私にコーヒーか何かを買ってください! ☕☕️
ウィッシュリストとプレゼントを共有および協力するためのウェブサイトベースのアプリケーション。主な目標は、受信者が何を受け取っているかを知らずに、ウィッシュリストと主張するギフトのアイデアを共有できるようにすることです。
注目すべき機能:
既知の問題:
Dockerを正直に使用することをお勧めします。
特にmysqlデータベース。将来的には、このプロセスを合理化することができ、DBモジュールによってサポートされるさまざまなデータベースを追加できます。しかし、今のところ、Pønskelistenが到達してログインできるMySQLデータベースを設定します。
Dockerなしでこれをホストしている場合は、XAMPPをダウンロードして、DB機能で「開始」をクリックするだけです。それ以上のセットアップは必要ありません! Dockerを使用している場合は、MySQL Docker画像を使用してください。 Docker Composeの例もさらにあります。これは、マイナーな調整が必要です。
Pønskelistenのテーブルを作成します(Docker Imageはこれを自動的に行います)、後でテーブル名を覚えてください。
構成ファイルを手動で編集する場合は、pønskelistenを起動してから、不満を言うようにします。その後、構成ファイルを手動で編集できます。そうでない場合は、設定オプションを使用してPønsklistenを開始するために、 Startup flagsをさらに見てください。
選択したブランチ/タグをインストールしてコンパイルして実行します。
$ go build
$ ./poenskelisten
...または、事前にコンパイルされたリリースをダウンロードして、アプリケーションを開始します。
スムーズな体験のためにいくつかのスタートアップフラグを使用してPønskelistenを起動したい場合は、次のセクションをご覧ください。そうでない場合は、ステップ3に移動してください。
起動フラグを使用して値を生成して構成ファイルを入力できます。構成ファイルに優先順位を付けるための事前に構成された値がない場合にのみ使用されます。構成ファイルに値がある瞬間、これらのフラグは役に立たない。一度のもののようなもの。
例外はgenerateinvite 、各使用法で新しいランダムな招待状コードを生成し、SMTP関数を常に無効にするdisablesmtp生成されます。
| フラグ | タイプ | 説明 |
|---|---|---|
| ポート | 整数 | ポートポーンケリステンが開始するポート。 |
| タイムゾーン | 弦 | TimeZonePønskelistenが使用しています。 TZデータベース名形式で指定されています。リストはここにあります。 |
| geneateinvite | 文字列(true/false) | Pønskelistenが起動時に招待コードを生成する場合。 |
| DBIP | 弦 | 接続アドレスPønskelistenがデータベースに到達するために使用します。 |
| dbport | 整数 | ポートポーンケリステンは、でデータベースに到達できます。 |
| dbname | 弦 | データベース内のテーブルの名前。 |
| dbusername | 弦 | ユーザー名は、データベースで自己誘発するために使用されます。 |
| dbpassword | 弦 | データベースで自動ネイケートするために使用されるパスワード。 |
| disablesmtp | 文字列(true/false) | SMTPを無効にします。つまり、ユーザーVerificatonが無効になっています。 SMTPはデフォルトで有効になります。 |
| smtphost | 弦 | 使用されるSMTPサーバーホスト。 |
| smtpport | 整数 | 使用されるSMTPサーバーホストポート。 |
| smtpusername | 弦 | 使用されるSMTPサーバーに向けて認証するために使用されるユーザー名。 |
| smtppassword | 弦 | 使用されるSMTPサーバーに向けて認証するために使用されるユーザー名。 |
| Upgradetov2 | 文字列(true/false) | /filesフォルダー内のdb.sql V2.00形式に変換します。 |
フラグを使用するには、追加の値でコンパイルされたGOプログラムを開始します。のような:
$ ./poenskelisten -port 7679
$ ./poenskelisten -port 7679 -dbip 127.0.0.1 -dbname mycooltable -smtphost smtp.justanexample.org
/files/config.jsonファイルを構成します前のステップで起動フラグを使用した場合は、この手順をスキップするか、戻ってフラグを使用することができます。フラグは、 config.jsonファイルに入れるための起動パラメーターを提供する方法にすぎません。フラグの表は、構成ファイルを手動で編集する方法についての洞察も提供します。
MySQLデータベースに到達できるように構成ファイルを編集し、SMTP関数を無効にしない場合はSMTPサーバーに到達できるようにします。現在、管理インターフェイスはないため、これはファイルで手動で実行する必要があります。タイムゾーンも必要ですが、秘密鍵は自動的に入力する必要があります。
変更が有効になるために、Pønskelistenを再起動します。
Pønskelistenにアクセスできないはずです。デフォルトでは、 localhost:8080でフロントエンドを見つけることができます。
Webサイトにサインアップするには、招待コードが必要です。 generateinviteフラグを使用した場合、ファイルディレクトリ内またはコンソールにあるログファイルに招待コードを見つけることができます。
そうでない場合は、招待状コードを追加するには、データベーステーブルを変更する必要があります。面倒な、私は知っている。
PHPMyAdmin(データベースインターフェイス)をDocker画像またはローカル(XAMPPで事前にパッケージ化する)のいずれかをインストールすることをお勧めします。これは、データベースを変更するために使用できます。
サインアップする最初のユーザーは、自動的に管理者です。サインアップしたいすべてのユーザーに招待コードが必要です。これは、管理ページで生成できます。
サインアップ中にユーザーが電子メールを台無しにするたびにDBにアクセスする準備をしてください。
以前に与えられたテーブル内のすべてのスタートアップフラグは、環境変数として使用できます。フラグ、および環境変数は、構成ファイルで値がまだ定義されていない場合にのみ使用されることに留意してください。
唯一の例外は、 generateinviteとdisablesmtpです。 Docker Composeファイルからgenerateinvite環境変数を削除することを検討して、再起動するたびに新しいコードを生成しないようにします。
Pønskelisten、mysql db、phpmyadminがあります。理論的には、この例を機能させるために、Pønskelistenサービスの環境変数を編集するだけです。
version: '3.3'
services:
db:
image: mysql:5.7
container_name: poenskelisten-db
restart: unless-stopped
environment:
# The table name you chose
MYSQL_DATABASE: 'ponske'
# User, so you don't have to use root
MYSQL_USER: 'myuser'
# Please switch this password
MYSQL_PASSWORD: 'mystrongpassword'
# Password for root access, change this too
MYSQL_ROOT_PASSWORD: 'root'
networks:
- db
expose:
- '3306'
# Where our DB data will be persisted
volumes:
- ./db/:/var/lib/mysql/ # Location of DB data
poenskelisten:
container_name: poenskelisten-app
image: aunefyren/poenskelisten:latest
restart: unless-stopped
networks:
- db
depends_on:
- db
# Where our Pønskeliste files are
volumes:
- ./data/:/app/files/
ports:
- '8080:8080'
environment:
# Generate an unused invite code on startup
# Remove this value to avoid continuous code-generation
generateinvite: true
# The container will only respect these ENV if they are empty in the config.json
# Useful for first setup
port: 8080
timezone: Europe/Oslo
dbip: db
dbport: 3306
dbname: ponske
dbusername: myuser
dbpassword: mystrongpassword
disablesmtp: false
smtphost: smtphost
smtpport: 25
smtpusername: myusername
smtppassword: mypassword
phpmyadmin:
image: phpmyadmin:latest
restart: unless-stopped
environment:
- PMA_ARBITRARY=1
# DB table
- PMA_HOST:ponske
# Root password
- MYSQL_ROOT_PASSWORD:root
# Timezone
- TZ=Europe/Oslo
container_name: poenskelisten-phpmyadmin
ports:
- 80:80
depends_on:
- db
networks:
- db
networks:
db:
external: false
Pønskelistenとはどういう意味ですか?
英語にまったく翻訳されない賢いノルウェーの言葉遊び。ウィッシュリストはノルウェー語で「Ønskeliste」と呼ばれ、動詞「pønske」はプロットして計画することを意味します。したがって、Pønskelisten。
DBを直接管理する必要性を削除できますか?
ええ、それは来ています。
まあ、これは早期に開発されており、ユーザーフレンドリーでホスティングの価値があり、時間がかかります。それは確かに機能的ですが、必ずしもあなたが必要としている、または望んでいるものではありません。 GitHubの問題の形でフィードバックまたは機能リクエストを自由に追加してください。