minhtrannhat c641ddd47d
Feat(API): Database schema and models defined
- Wrote tests for database migrations and populate with test data
2022-12-23 20:07:36 -05:00
2022-11-18 16:08:50 -05:00

Todo API

Frontend

Development dependencies

  • prettier: Formatter

Backend

Development workflow

  • Run eval (pdm venv activate in-project) (if you are using Fish shell) or eval $(pdm venv activate in-project) (if you are using bash/zsh) at the backend folder root.

Dependencies

Python dependencies

  • quart: a micro-webframework, async version of Flask.
  • black: Code formatter.
  • isort: Import formatter.
  • mypy: Type checking.
  • flake8: General Python bugs.
  • vulture: Find unused code in Python programs.
  • pytest: For testing (turbocharged with async).
  • bcrypt: Hashing and salting password.
  • zxcvbn: Test password strength.
  • freezegun: Check for expired token.
  • quart-rate-limiter: Rate limiting.
  • pydantic and quart-schema: Request/Response validation.
  • httpx: send HTTP POST requests from our app.

SQL Dev-deps

  • bandit: Check for SQL injection vulnerabilities.

Miscs Dev-deps

  • djhtml: Generate jinja templates html for emails.

Backend Technical Write-up

Difference between database schema and database model

  • A schema defines the structure of data within the database.
  • A model is a class that can be represented as rows in the database, i.e ID row, age row as class member.
Description
A todo API but using all new python web technologies
Readme 2.3 MiB
Languages
TypeScript 54.3%
Python 38.1%
HTML 4.1%
Dockerfile 1.2%
CSS 1.1%
Other 1.2%