01 About the project
Bikehaus Freiburg isn’t a shop template, it’s the business itself: a bike is bought in, enters stock, then gets sold, rented out or returned — and every one of those steps carries its own document number, a signature and a PDF at the end. The admin interface covers that across roughly 28 modules, from customers and invoices through expenses and refurbishment costs to statistics, exports and backups.
Facing outward is the public site: Angular 17 with server-side rendering, twelve languages on their own URLs and around 100 routes pre-rendered at build time — showroom, e-bikes, new bikes, accessories, service, guides and local landing pages for the surrounding towns. Rentals run entirely online: check availability, pick accessories, pay via Mollie. The booking lands in the admin area for approval and turns into a rental contract there.
On top of that sits everything a single shop would otherwise do by hand: a background service syncs the Kleinanzeigen listings every four hours, a Chrome extension edits them in bulk, and customer enquiries arrive as a chat from a connected mailbox. It all runs on a dedicated server: Docker Compose with five services, nginx in front, certificates renewed automatically and monitored daily by GitHub Actions. For the counter there is also a Windows build that bundles the API.
02 Highlights
- 01
Full goods flow: purchase → stock → sale → return, with document numbers and signature
- 02
Public rental booking with availability check and online payment (Mollie)
- 03
12 languages on their own URLs, around 100 pre-rendered routes (Angular SSR)
- 04
Kleinanzeigen sync every four hours plus a Chrome extension for bulk editing
- 05
Admin area with ~28 modules: customers, invoices, expenses, statistics, export, backup
- 06
PDF generation for rental contracts, invoices and receipts
- 07
Windows desktop build (Electron) with a bundled API for in-store use
- 08
Self-hosted: five-service Docker Compose, nginx, automatic TLS, own mail server
03 Tech stack
- Angular 17
- .NET 8
- SQLite
- Entity Framework
- Docker
- nginx
- Playwright
- Electron
Interested in
working together?
Tell us about your plan — we’ll tell you honestly what it takes and what it costs.
Get in touch