crude
An opinionated prototyping platform for data-centric applications
- Written in Go and vanilla JS
- Fast (site is available in about 100ms)
- Small (Backend code is below 2k lines of code)
- Simple to deploy (one self-contained native binary smaller than 20MB)
- Instantly create simple CRUD Applications from a JSON data model
- Generic persistence layer based on MongoDB
- Passwordless authentication using Sign in with Ethereum
- (no, this is not a Web3 project..)
- Supports relationships between entries
- Automatic JSON API for all the data
- Hackable: small, easy to read codebase
- Search the whole database from a single input field
- Includes CSRF protection for all HTTP requests
- Very basic rights management
- Public
- Accessible by all users
- Accessible only the logged-in user
Out of Scope
- No SSL / TLS (use a reverse proxy)
- No business logic (implemented as plugins)
- No special Field Types (implemented as plugins)
- No handling of binary data (binaries should be stored elsewhere and crude should only handle links)
- No tenant or project prefixes (use sub-domains and just host another instance)
- No simplified queries (client-side)
- No better UI/UX (client..)
- No complicated access rights management (only the basics are provided)