This is a test project aimed at learning about and integrating various libraries and tools into a meaningful application. The application itself represents a simple webstore offering 3D models for sale as digital files or printed physical items.
! Warning ! - If you do plan to test the application/workflow, you will need a valid email address and postcode. Please avoid using your own email address, instead use some external service with generated temporary emails.
Disclaimer - This is a testing project, application may fail at any point or some services might be unavailable (e.g. mail delivery).
- Backend - Directus (CMS) with SQLite, Stripe, Zeptomail (Transactional emails), React Email
- Frontend - Next.JS / React, Tailwind, Framer Motion, ReCaptcha
- Server - Digital Ocean Droplet, Nginx, CDN
- App should be fast, most of the pages should be prerenderd on the server, images are stored in CDN
- Data is cached in Next.JS and revalidated on demand when content changes in CMS (handled by Directus Flow)
- User can see images and/or videos of models
- User can download free models immediately
- User can put paybale models into a basket
- User can proceed to checkout to buy models (to test this feature use credit card
4242 4242 4242 4242
, with valid future date and random CVC) - User should receive an email with link to downloadable items upon successful payment
- Downloadable links are different for each purchase
- User can contact owner through contact form
- Owner recieves automated email (notification) about newly received message
- Owner can track orders in CMS (worflow handled by Stripe Webhook and Directus Flow)