fullstack fastapi vuejs price aggregator
1.0.0
웹 스크래핑을 통한 영국 슈퍼마켓 가격 수집기. 이것은 대학 프로젝트를 MVP로 개발했기 때문에 올바르게 작동하지 않는 측면이 있습니다. 앞으로 업데이트할 수도 있습니다.
Docker와 Node.js가 설치되어 있는지 확인하세요.
docker-compose up --build -d
실행하세요. 백엔드가 시작되고 처음 실행될 때 몇 분 정도 걸릴 수 있는 필요한 모든 컨테이너가 빌드됩니다.docker-compose exec backend bash
사용하여 셸을 얻습니다.python manage.py createdb
실행하세요.python manage.py seeddb
실행합니다. 모든 비밀번호는 비밀번호 로 설정되어 있습니다.cd
넣고 npm install
실행하면 필요한 노드 모듈이 설치됩니다.npm run serve
실행하세요. URL | 설명 |
---|---|
0.0.0.0:8000/API | 백엔드 JSON API |
0.0.0.0:8000/문서 | 백엔드 OpenAPI/Swagger 생성 API 참조 문서 |
0.0.0.0:8000/redoc | ReDoc에서 제공하는 대체 대화형 문서 |
로컬호스트:9527 | 프런트엔드 VueJS 단일 페이지 애플리케이션 |
백엔드에는 Netflix의 Dispatch에서 크게 영감을 받은 CLI가 포함되어 있습니다.
typer
(FastAPI와 동일한 작성자)는 프로젝트에 대한 CLI를 생성하는 데 사용되었으며 prepare.py를 통해 액세스됩니다.
명령을 실행하려면 다음을 사용하여 백엔드 컨테이너 내부에서 실행되는 셸이 필요합니다.
docker-compose run backend bash
사용 가능한 모든 명령을 보려면 다음을 수행하십시오.
root@72293bee6b37:/app# python manage.py
Usage: manage.py [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
config Display application configuration.
createdb Creates an empty database.
createrole Add role to database.
createuser Create new user in the database.
develop Start a development server with reload.
dropdb Drop the existing database.
routes Display application routes and dependencies.
seeddb Add fake data to database.
shell Starts an interactive shell with app object imported.
root@72293bee6b37:/app# python manage.py routes
Application Endpoints
Path Methods Dependencies
----------------------------- --------- --------------------------------------------------------
/api/v1/users/ GET ['RoleChecker: Roles: admin,user']
/api/v1/users/ POST ['RoleChecker: Roles: admin,user']
/api/v1/users/{id} GET ['RoleChecker: Roles: admin,user']
/api/v1/users/{id} PUT ['RoleChecker: Roles: admin,user']
/api/v1/users/{id} DELETE ['RoleChecker: Roles: admin,user']
/api/v1/users/{id}/roles GET ['RoleChecker: Roles: admin,user']
/api/v1/users/{id}/roles PUT ['RoleChecker: Roles: admin,user']
/api/v1/users/{id}/shops GET ['RoleChecker: Roles: admin,user']
/api/v1/users/{id}/shops PUT ['RoleChecker: Roles: admin,user']
/api/v1/roles/ GET ['RoleChecker: Roles: admin,user']
/api/v1/roles/ POST ['RoleChecker: Roles: admin,user']
/api/v1/roles/{id} GET ['RoleChecker: Roles: admin,user']
/api/v1/roles/{id} PUT ['RoleChecker: Roles: admin,user']
/api/v1/roles/{id} DELETE ['RoleChecker: Roles: admin,user']
/api/v1/shops/ GET ['RoleChecker: Roles: admin,user']
/api/v1/shops/ POST ['RoleChecker: Roles: admin,user']
/api/v1/shops/{id} PUT ['RoleChecker: Roles: admin,user']
/api/v1/shops/{id} DELETE ['RoleChecker: Roles: admin,user']
/api/v1/shops/listings/ GET ['RoleChecker: Roles: admin,user']
/api/healthcheck GET []
python manage.py config
Application Configuration
Setting Value(s)
-------------------------- --------------------------------------------------------------------
APP_DIR /app/app
STATIC_DIR /app/app/static
EMAIL_TEMPLATES_DIR /app/app/static/email-templates/html
PROJECT_NAME Fastapi Backend
SERVER_HOST 0.0.0.0
CORS_WHITELIST ['http://localhost', 'http://localhost:8000', 'http://0.0.0.0:8000']
FASTAPI_ENV development
DEBUG False
LOG_LEVEL debug
FIRST_SUPERUSER [email protected]
FIRST_SUPERUSER_PASSWORD a5dbf43e07f4d19e5b73bc89a8f74
USERS_OPEN_REGISTRATION True
SECRET_KEY **********
JWT_AUTH_LIFETIME_SECONDS 604800
JWT_EMAIL_LIFETIME_SECONDS 3600
SMTP_USER [email protected]
SMTP_PASSWORD **********
SMTP_TLS False
SMTP_SSL False
SMTP_HOST mailhog
SMTP_PORT 1025
POSTGRES_USER postgres
POSTGRES_PASSWORD **********
POSTGRES_HOST postgres
POSTGRES_PORT 5432
POSTGRES_DB fastapi_backend