Skip to content

Roadmap

This section talks about the upcoming releases, and the requirements for each and also describes the general gist of each release.

Each release will define the features that are planned for the release, these features may be added to, removed, or moved depending on the progress for that release.

Each release will be named after a random fruit that would be good as/in a fizzy drink (IMO), like raspberry. 👌

V1.0.0 - Cherry

Overview

This release focuses on stability, and implementation of the core features - also ensuring there are no major bugs or issues with the framework, and ensures all packages are doing what they should. Will also cover cleaning up any old code and removal of anything that doesn't work or isn't going to be implemented.

Features

StatusDescription
Implementation of a global dependency injection library.
A registry package to deal with ensuring modules and loaded data are shared cleanly, should deal with globalThis binding as well.
Implement the basic core functionality.
Worker support with resource pooling.
A CLI tool for interacting with the process, things like registering discord commands, etc.
A create tool for generating projects in a clean and simple way.
Implementation in the core framework for creating "scripts" that can be triggered by the CLI tool for users and other plugins.
Implement a worker system that can be used to start and handle processes, we have something that works, but it could be improved and made better.
A HTTP plugin that can allow a nice decorator based way of dealing with HTTP API endpoints.
A WebSocket plugin that can attach to the HTTP plugin and offer a command/response style for building WS servers.
Implement SSE support into the HTTP plugin allowing users to setup SSE connections.
Implement a worker for both the SSE and WS functionality to allow for things like broadcasting and access in business logic controllers.
Implement a prisma plugin that can initialise Prisma and allow it to be injected.
Implement a first-stage i18n plugin to deal with translations, allow manual support and automatic support.
Add support for middlewares within the HTTP plugin.
Add a middleware helper for the automatic i18n support.
Add a middleware helper for the WebSocket upgrade process.
Implementation of transformers to support i18n in the HTTP plugin.
Discord plugin for creating bots.
Discord OAuth2 helper provider.
Finalise the documentation on the sodacore.dev website.

V1.1.0 - Lime

Overview

This release will focus on additional packages that revolve around user interfaces, the framework is primarily a service handler, where various packages offer a service that is exposed, and the framework offers a kind of "opinion", i.e. all packages are built around the same idea, and the same way of doing things, this will allow for a more seamless experience when using the framework. In this release we want to focus on creating almost a way of creating a visual view of building web pages. For example a user could make a simple blog or an admin dashboard.

Features

StatusDescription
Implement the @sodacore/vite package offering the Vite dev server with HMR, and production static builds and even offer a way to deploy a SSR version as well.
Implement the @sodacore/ui package, this will be a functional user interface based around the PageVue idea, where users can create, and implement their own pages using a set of pre-defined components, with the ability to integrate "other" packages and their components.
Implement CORS support with in the @sodacore/http package.

VX.Future - Future

Overview

This is a collection of potential features that we would like to implement, when, how and what that might look like are very much in the air, but we define a basic idea of what that might be.

Features

StatusDescription
Implement a full backend admin system on top of the new UI and Vite integration using Vue.

Released under the Apache-2.0 License.