Overview:
This is a Full-Stack, Self-Contained Shopping Demo App built using Svelte, Golang, and SQLite. It is a small and modern monolithic application that allows users to browse and add products to a shopping cart, view and checkout orders, and see order results. The backend of the app uses Golang and SQLite to create RESTful-like APIs for querying product data and writing order data. The project also includes a Dockerfile for containerization and supports DevContainer/CodeSpace for development.
Features:
- Svelte 4 as the front-end component framework
- SvelteKit 2 for application framework and static site generation
- Bootstrap for CSS styles
- Golang as the back-end server with gin for static web serving and web services
- go-sqlite3 as the SQLite driver for the database
Installation:
To set up the local project for development, you will need the following prerequisites:
- Git
- Node.js (for dev or production)
- Golang (for production)
- Docker (only required for generating the container)
If you are a Windows user, you will also need to install GCC to compile the go-sqlite3 package. On Linux, you can install the build-essential package.
- Clone the repository.
- Serve the Svelte app in development mode. The app will use mock product data and the returned order number will always be 42.
Summary:
The Full-Stack, Self-Contained Shopping Demo App is a small and modern monolithic application built using Svelte, Golang, and SQLite. It allows users to browse and add products to a shopping cart, view and checkout orders, and see order results. The app utilizes SvelteKit for static site generation and creating backend APIs. While not intended as a practical template for real-world applications, this project serves as an experiment to build a self-contained full-stack application.