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

Objective

In this year’s computer projects, I’ll be developing a complete eCommerce application (like Amazon’s).
The goal of these projects is to select, learn, and use the necessary technologies in practice,
then demonstrate the results as a realistic and operational application example.
The development should be done using automated and reusable CI/CD pipelines.
I will ultimately run the eCommerce application in a Kubernetes environment and make it publicly available.
I will then equip the entire application and its infrastructure with monitoring and a notification system for problem reporting.
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, AlpineJs, Tailwind CSS, DaisyUI, SQLc, and LibSQL/SQLite 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 “devappserver” is required for each developer)

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

CI app

Result

Under construction