RTC
en nl
🌟Development of a full-stack eCommerce web application
[ Not yet finished ]
eCommerce

Objective

This is the first in a series of interconnected computer projects spanning a year.
In these projects, I will attempt to develop a complete and realistic eCommerce application “demo-shop”.
At the same time, I also intend to build a software factory in the form of automated CI/CD pipelines,
for which the necessary technologies are being selected, learned, and integrated.
The resulting application will be deployed in a Kubernetes environment and made publicly accessible.
The application and the infrastructure used will also be equipped with monitoring and a notification system for reporting issues.
Application development and operations will be automated as much as possible and made reusable for other future applications.

In this first delivery, I want to achieve the following:

  • Design a real-world eCommerce application,
    and create the corresponding application documentation with diagrams
  • Create schema migration and (test) data migration scripts for the database
  • Develop the core of the full-stack web application with the following stack:
    Go, Templ, Htmx, AlpineJs, Tailwind CSS, DaisyUI, SQLx, and MariaDB database
  • Provide the application with external configuration and logging
  • Develop a web service that uses REST (vs. gRPC, GraphQL) as the API protocol
    (synchronously invoked external dependencies)
  • Create functional unit tests
    (no application runtime environment required)
  • Create the first, rapid build part of a CI pipeline (Continuous Integration),
    with compile, unit tests, code coverage checks, and static code analysis checks
    (“secret scanner”, SCA = “software composition analysis”, and SAST = “static application security testing”)
    and “Software Bill of Materials” (SBOM) generation
  • This rapid build portion of a CI pipeline should be executed automatically
    (possibly after review by other developers)
    before a feature branch is merged into the master branch of the source code repository;
    even better, these static code analysis checks can also be performed locally before each commit
  • Manual testing by individual developers
    (a separate application runtime environment “local-devappserver” is required for each developer)

This project therefore ensures the implementation of the following parts of the pipelines:

CI app

Result

Under construction