프로젝트처럼? 돈이 너무 많습니까? 나에게 커피를 사거나 뭔가를 사! ☕️
위시리스트 및 선물에 대한 웹 사이트 기반 응용 프로그램. 주요 목표는 수신자가 받고있는 것을 알지 못하고 위시리스트와 청구 선물 아이디어를 공유하는 것입니다.
주목할만한 기능 :
알려진 문제 :
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 설치로 컴파일하고 실행하십시오.
$ go build
$ ./poenskelisten
... 또는 사전 컴파일 된 릴리스를 다운로드하고 응용 프로그램을 시작하십시오.
더 부드러운 경험을 위해 스타트 업 플래그로 Pønskelisten을 시작하려면 다음 섹션을보십시오. 그렇지 않다면 3 단계로 가십시오.
시작 플래그를 사용하여 값을 생성하여 구성 파일을 채우십시오. 구성 파일에 우선 순위를 정하기 위해 사전 구성된 값이없는 경우에만 사용됩니다. 구성 파일에 값이있는 순간이 플래그는 쓸모가 없습니다. 일종의 일회성.
예외는 generateinvite 이며, 각 사용량에 새롭고 임의의 초대장 코드를 생성하고 항상 SMTP 기능을 비활성화하는 disablesmtp .
| 깃발 | 유형 | 설명 |
|---|---|---|
| 포트 | 정수 | 어떤 Port Pønskelisten이 시작됩니다. |
| 시간대 | 끈 | 시간대 pønskelisten이 사용합니다. TZ 데이터베이스 이름 형식에 제공됩니다. 목록은 여기에서 찾을 수 있습니다. |
| 생성 | 문자열 (true/false) | Pønskelisten이 시작시 초대장 코드를 생성 해야하는 경우. |
| DBIP | 끈 | 연결 주소 Pønskelisten은 데이터베이스에 도달하는 데 사용합니다. |
| dbport | 정수 | Port Pønskelisten은 데이터베이스에 도달 할 수 있습니다. |
| dbname | 끈 | 데이터베이스 내 테이블 이름. |
| dbusername | 끈 | 데이터베이스와 자동화하는 데 사용되는 사용자 이름입니다. |
| dbpassword | 끈 | 데이터베이스와 자동화하는 데 사용되는 비밀번호. |
| disablesmtp | 문자열 (true/false) | SMTP를 비활성화합니다. 즉, 사용자 Verificaton이 비활성화되어 있음을 의미합니다. SMTP는 기본적으로 활성화됩니다. |
| smtphost | 끈 | SMTP 서버 호스트가 사용되었습니다. |
| smtpport | 정수 | SMTP 서버 호스트 포트가 사용되었습니다. |
| smtpusername | 끈 | 사용되는 사용자 이름은 사용 된 SMTP 서버를 위해 인증하는 데 사용됩니다. |
| smtppassword | 끈 | 사용되는 사용자 이름은 사용 된 SMTP 서버를 위해 인증하는 데 사용됩니다. |
| 업그레이드 로프 2 | 문자열 (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 파일에 넣을 시작 매개 변수를 제공하는 방법 일뿐입니다. 플래그 테이블은 또한 구성 파일을 수동으로 어떻게 편집하는지에 대한 통찰력을 제공합니다.
SMTP 기능을 비활성화하지 않으면 MySQL 데이터베이스에 도달하고 SMTP 서버에 도달 할 수 있도록 구성 파일을 편집하십시오. 현재 관리자 인터페이스가 없으므로 파일에서 수동으로 수행해야합니다. 시간대도 필요하지만 개인 키는 자동으로 채워져 있어야합니다.
적용 할 변경 사항을 위해 Pønskelisten을 다시 시작하십시오.
Pønskelisten에 액세스 할 수 없어야합니다. 기본적으로 localhost:8080 에서 프론트 엔드를 찾을 수 있습니다.
웹 사이트에 가입하려면 초대장 코드가 필요합니다. 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 문제의 형태로 피드백 또는 기능 요청을 자유롭게 추가하십시오.