Releases: rodyherrera/Quantum
1.0.6
Quantum v1.0.6 😗
What's New?
- Simplification of the deployment process through Docker. The environment variables for both the server and client applications are centralized in the ".env" file available in the root of the repository. In addition, you only have to configure secret keys, that is, the only necessary variables. The rest are optional and already have values assigned.
- Changes to the "documentation" (README) regarding the information available up to version 1.0.5 about deploying in Docker. Some editorial aspects have been complemented and also improved. Additionally, a new "Quantum CLI via Docker" section has been added to access these tools in case you have chosen to deploy in Docker.
- The MongoDB image has been added when deploying Quantum to Docker. Previously you had to specify the connection of your MongoDB instance, since when deploying in Docker it was not included.
1.0.5
Quantum v1.0.5 ☔
What's New?
- The sending of emails in case of errors at runtime, or when certain relevant events occur, has been optionally implemented. Parameters such as the SMTP server and destination email for these events can be adjusted within the Quantum server environment variables.
- Removal of files and unnecessary code; The server application has been modularized, extracting part of the files that existed in the "utilities/" directory now in "services/".
- Elimination of the "react-pendulum" dependency within the client application, since it caused an incompatibility problem with the version of React.js used, which as a consequence caused it to be necessary to add the "--force" flag to install the node_modules to "npm install". It is no longer necessary.
- The integrity and quality of the connection established from Node.js to the MongoDB database has been improved; A new environment variable has also been implemented to allow defining which source to use for authentication.
- Automatic detection of the server's listening port with the help of environment variables defined in the file branch of the cloned project.
- Modification of the GSAP animations, as they were being applied with "gsap.to" and not with "gsap.fromTo" causing some errors in the properties of the nodes when the animations occurred, sometimes leaving blank pages.
- Removal of the wave animation in the footer of the web application in the Desktop view (width > 768), as it caused lag.
- The lodash library has been added to improve interaction with data structures at the server level. I plan to expand its use, since it is only used in a portion of it.
I was thinking about changing from JavaScript to TypeScript, but Quantum already has several thousand lines of code and it will not be something simple, anyway I will give it a try, at least convert the existing server-side code from JavaScript to TypeScript.
Also, I have in mind to implement for each user a "public directory" where they can host their files and access them either through a Quantum endpoint or using a custom domain, also facilitating the option if the file should really be visible or not to visitors to this endpoint.
In addition to the above, add the possibility of being able to clone repositories of third-party users, or use docker images, the above in complement with the main functionality now of Quantum, which is to be able to easily deploy the applications that are in a certain account from Github.
I was also planning to add for each user the option to open Visual Studio Code through the web application using code-server within each user's Docker instance, so that they can develop through Quantum and even commit from there.
...are some of the ideas I plan to add in future versions, however college grades are also a priority now lol.
1.0.4
Quantum v1.0.4 🤠
What's New?
- Integration of multiple domains to a specific hosted repository, with automatic SSL certificate generation.
- Docker was implemented to facilitate the deployment of both the web-ui and the platform server. Facilitating the deployment in terms of the installation of dependencies required for the execution of the platform.
- Guide to migrate to new versions of the platform without losing its current configuration and data. (README.md).
- Isolation of the platform's persistent storage (where records and containers are stored), since /var/lib/quantum/ is now used, avoiding depending on a path that is within the project's source code.
- Separation of execution environments, as well as how one or another database is chosen depending on the value of NODE_ENV (production/development). The same will apply to using persistent storage, since there will be /var/lib/quantum/production/ (for when it is the case of NODE_ENV = production), and otherwise /var/lib/quantum/development/.
- Much of the source code of the application in general has been documented with the JSDoc format, facilitating its understanding and maintainability.
- Creation of bash scripts for automatic installation of dependencies or configuration within the system.
- Refactored source code, improving modularization and security.
And much more! 🤯
1.0.3
Quantum v1.0.3 🐜
What's New?
- Fixed a bug preventing repository loading in the dashboard upon deletion of a repository from Github. Previously, due to the absence of a webhook to monitor this event, loading repositories in the Dashboard triggered interaction with the Github API, resulting in an error when requesting information about the deleted repository. Now, repositories removed from Github will also be removed from Quantum.
- Addressed an issue within the client's "APIRequestBuilder" class where, post-authentication, the token wasn't included in backend requests, necessitating a page reload.
- Implemented a "Change Password" page allowing users to update their passwords.
- Enhanced password update validation to ensure the "current password" matches the "new password."
- Rectified error messages in the web UI.
- Resolved a "ReferenceError: The following is not defined (in the authentication middleware)" issue.
- Streamlined code by removing unnecessary parameters and code segments.
Keep working to make Quantum a secure and robust platform! 🕛
1.0.2
Quantum v1.0.2 🌌
What's New?
- Integrated Greensock into the client application (webui), enhancing user experience with sophisticated animations and transitions.
- Rewrote modules in both backend and client to refactor and modularize the code, ensuring readability and facilitating the development and implementation of new features.
- Improved error handling, enhancing readability for users.
- Implemented confirmation modals for critical actions like "repository deletion" and "account deletion" to bolster event security.
- Introduced environment variable for configuring initial Docker container packages.
- Revamped global CSS styles for a refreshed design across the client application.
And much more! 🚀
Screencast from 2024-02-25 15-13-43.webm (Desktop Video)
Screencast from 2024-02-25 15-18-58.webm (Mobile Video)
1.0.1
Quantum v1.0.1✨
- Implemented new features within the user interface and forms, enhancing information clarity and navigation.
- Introduced Docker-based isolation for deployments, repositories, and user environments, leveraging dockerode. Each user now operates within an instance of Alpine Linux, enabling repository cloning and deployment.
- Specific instructions were integrated into the backend to execute when an unexpected crash occurs at runtime as well as when the server shutdown order is detected, ending processes safely.
- Conducted refactoring and modularization in both backend server and frontend application source code.
- Integrated new environment variables to complement the update, including initial package configurations for user instances and Docker container aliases.
- Added a "my account" page on the frontend, facilitating user management such as email, username, and full name modification, alongside account deletion which removes associated deployments, repositories, and Docker instances.
- Updated images in the "screenshots" folder to reflect new platform views introduced in this version.
- Expanded functionalities and options in the platform's CLI.
- Appended new sections to README.md detailing the update, including an extensive user guide explaining software functionality and Docker installation prerequisites for deploying Quantum on their system.
And much more! 🤍
Continued efforts will focus on optimizing platform operations to improve efficiency and further modularize the code base. This will ensure that deploying and modifying features remains simple and manageable.
Some images of the new version for you 👀😊: