You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.2 KiB
Markdown

1 year ago
# htmx_contact
![build-status](https://drone.runcible.io/api/badges/androiddrew/htmx_contact/status.svg)
Learning [HTMX](https://htmx.org/) by building a the htmx contact.app from https://hypermedia.systems/book/contents/
1 year ago
## Local Development
1 year ago
This project uses Pyinvoke for local development utilities. See:
1 year ago
```
inv --list
```
1 year ago
For a list of current utilities.
## Features
- [x] Application factory
- [x] View Blueprints
- [x] Configuration with Pydantic
- [x] dotenv support for local dev
- [x] Sqlalchemy integration
- [x] Model migrations using Alembic
- [x] User accounts
- [ ] Flask Login integration
- [ ] Oauth Integration
- [ ] Secure password hashing with [argon2](https://www.password-hashing.net/)
- [ ] RBAC for contact sharing
- [ ] Email integration
- [ ] Admin portal
- [ ] Hypermedia Application driven by HTMX under `/`
- [ ] JSON API under `/api` route
- [ ] Tilt local development environment
- [ ] Helm Chart Deployment
- [x] Continous Integration with Drone.io
- [x] Lint Checks
- [x] Unit Tests
- [ ] Integration Tests
- [ ] Continuous Delivery pipeline with Drone.io
- [ ] CRSF Protection via [TBD](https://testdriven.io/blog/csrf-flask/) Looks like it will probably still be flask-wtf but only for the CSRF Protect.