Autostrada
Autostrada
Create a new codebase Get Autostrada Plus
Roadmap Changelog Give feedback
Login

Roadmap

Improvements and features that will be coming to Autostrada in the future. Please note that this roadmap isn't set in stone — if there's something that you'd like to see added or prioritized please reach out and let me know. If you'd like to see a list of historical changes, you can also check out the changelog.

Planned developments
Use pgx

Switch to using the github.com/jackc/pgx postgres driver instead of github.com/lib/pq.
#user-suggested

Tests

Add tests for all functionality in the generated codebases.
#user-suggested

Email confirmations

Add email confirmation workflow to the "Accounts and Authentication" feature.
#user-suggested

Rate limiting

Add optional support for IP based rate limiting (using x/time/rate).
#user-suggested

Shareable application configurations

Add support for shareable, reproducible, Autostrada application configurations.
#user-suggested

Server-side sessions

When the generated codebase uses a database, store session data server-side rather than in a cookie.

Likely developments
Request ID

Assign each request a unique ID and include it in log and error messages.

Select your Go version

Make it possible to select your preferred Go version when generating a codebase (Go 1.18+ only).
#user-suggested

RPC services

Make it possible to generate a skeleton codebase for RPC services.

CLI tools

Make it possible to generate a skeleton codebase for command-line interface tools.
#user-suggested

PASETO

Switch to using PASTEO as an alternative to JWT for API authentication.
#user-suggested

CORS requests

Add optional middleware with sensible defaults for allowing/restricting cross-origin requests for JSON API applications.

Pick-your-own logger

Add support for picking a logger (logrus, zap, zerolog etc.).
#user-suggested

Code comments

Add optional code comments for all code in the generated applications.
#user-suggested

Application profiling

Add optional support for application profiling using net/http/pprof.

Metrics

Add optional support for viewing application metrics (like memory and goroutine usage, and DB connection pool statistics).

Evaluate wneessen/go-mail

Evaluate and potentially switch to using github.com/wneessen/go-mail for SMTP.

Possible developments / Ideas
I18N/L10N

Add optional support for applications requiring I18N/L10N functionality (translations, number formatting, date and time formatting, currency etc).

Pagination

Add optional pagination helpers.

Websockets and server-side events

Add optional support for working with websocket connections and server-side events.

OAuth/OpenID connect

Add optional support for authenticating users via OAuth/Open ID connect.

Redis

Add support for Redis as an optional data store.

Email sending services

Add support for sending emails using popular email providers (SendGrid, Postmark, Amazon SES etc.).
#user-suggested

CSS frameworks

Make it possible to optionally choose a CSS framework for web applications (like Tailwind and Bootstrap).
#user-suggested

LiveView-style tooling

Make it possible to optionally choose HTML-over-the-wire tooling for web applications (like HTMX, Hotwire and Unpoly).

Analytics

Add optional support for server and client side analytics.
#user-suggested

Continuous integration with GitHub Actions

Add optional workflow files for running CI checks (using GitHub Actions).
#user-suggested

Sentry

Support sending error notifications to Sentry.

Docker

Add optional support for creating docker-compose and Dockerfiles.
#user-suggested

Build and deployment tooling

Add optional support for deploying to popular hosting providers (like Digital Ocean and AWS).

Error notifications via ntfy.sh

Support sending error notifications to your phone via ntfy.sh