Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/calebowens/bqn-web-framework
An experimental web framework for the BQN array programming language
https://github.com/calebowens/bqn-web-framework
bqn web
Last synced: 26 days ago
JSON representation
An experimental web framework for the BQN array programming language
- Host: GitHub
- URL: https://github.com/calebowens/bqn-web-framework
- Owner: calebowens
- Created: 2022-12-28T22:43:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-05T21:30:52.000Z (almost 2 years ago)
- Last Synced: 2024-08-04T00:12:01.101Z (4 months ago)
- Topics: bqn, web
- Language: Rust
- Homepage:
- Size: 20.5 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- awesome-bqn - bqn-web-framework
README
# BQN Web Framework (name comprised of bacon pun pending)
This project is primarily a way for me to further my understanding of the BQN
language. BQN is an array programming language, similar to APL or J. My
understanding is that languages like these are used by scientists, wizards, and
people with oversized datasets. I however am a web developer so I decided to do
the web developer thing of building yet another web framework.## How?
BQN doesn't have any networking built in. Rather than stopping and learning APL
which does, like a sane person, I decided to crack open the CBQN FFI and have
the web server portion and have a function which has an input and output
similar to the ruby rack.# TODO
- [ ] URL encodeing and decoding
- [ ] Parameter parsing
- [x] Basic query parameter parsing
- [ ] Query parameter parsing supporting arrays and objects
- [ ] JSON Body parsing
- [ ] JSON parsing
- [x] JSON stringifying
- [ ] HTML templating
- [ ] Routing
- [x] Basic routing
- [ ] Argument routes
- [ ] Optional routes? // I've never been a fan of optional routes
- [ ] Wildcards? // Can be useful at the end of a url. A query param could
sufice though
- [ ] Persistant storage
- [ ] Decide between Mongo or Postgres
- [ ] Use FFI to interact with either database
- [ ] Build an ORM
- [ ] Selecting
- [ ] Inserting
- [ ] Updating
- [ ] Deleting