Podex is a framework for building full-stack web applications using PowerShell/Pode for the backend and htmx for the frontend.
- Home page: overview of Podex and its technology choices as a server-rendered Pode view.
- CRUD Manager: list, search, paginate, add, update, and delete items against SQLite via htmx and client-side Mustache templates, with loading, empty, and error states.
- File-based JSON API:
GET/POST/PUT/DELETE /api/crudwith parameterized SQLite queries and validated, status-coded responses. - htmx fragment endpoint: HTML-only partial responses (e.g. the add-item modal form).
- OpenAPI + Swagger: spec at
/docs/openapiand interactive UI at/docs/swaggerfor/api/*. - Pode view engine: layouts, partials, and reusable components with Tailwind CSS theming (light/dark compatible).
- Debug-only routes: database init/clear and server-stop helpers, registered only when
Podex.Debugis enabled. - Quality gates: formatting, ESLint, PSScriptAnalyzer, Pester tests, Tailwind CSS build, and knip via
bunscripts, plus foreground/background server lifecycle (dev/start/stop) and an aggregatesmoke:qc.
- Backend: PowerShell Core, Pode, SQLite
- Frontend: htmx, Mustache, Tailwind CSS
-
Clone the repository:
git clone https://github.com/NomadicDaddy/podex.git cd podex -
Install dependencies:
bun install
-
Install PowerShell modules:
powershell -Command ". ./.build.ps1"
-
Start the server:
bun run start
-
Open your browser and navigate to
http://localhost:8433.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request.
This project is licensed under the MIT License.