A Lua web framework (someday... maybe)
Atlas is a small moon around Saturn that was named in 1983, a good year. 😉
Atlas also held up the heavens. I might be feeling that way as I get farther into this project.
This is me wanting to try my hand at something new and mixing some existing knowledge that a have, namely, web frameworks.
I'd like to take my knowledge of the features of a web framework and see if I can produce one of my own.
I know that Lapis and OpenResty exist. This project is more for my own exploration than being a serious entrant into the web platform arena.
My goal would be to create a lightweight, Django-like framework.
I think I want to go down to first principles for this learning project. I want to try to build things myself. I plan to research existing projects, but I will attempt to write my own versions of things. I'm taking this inspiration from Richard Hipp, the author of SQLite.
There are a number of possible entry points. This order sounds appealing to me.
- Template engine
- HTTP Server / URL router / Controllers
- DB / ORM
- The rest... 🤓
- Be guided by tests where possible.
- Be willing to do my own thing.
- Re-inventing the wheel may be fun... to a point.
- luatest for tests.
luarocks install luatest
- LuaCheck for lint.
luarocks install LuaCheck
- Here is the pre-commit PR for Lua support: pre-commit/pre-commit#2158
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pre-commit install
luarocks new_version atlas-dev-1.rockspec <new version like 0.2>
# Upload expects branch name of v0.1 format
git tag -a v0.2 -m 0.2
# The upload command will build a source rock locally.
# Example
luarocks upload rockspecs/atlas-0.1-1.rockspec --api-key=$LUAROCKS_KEY