Teetasse
is an e-commerce platform to sell different types of tea and equipment. As a central part of my bachelor thesis, this fullstack web application showcases the implementation of SEO optimization techniques and the integration and comparison of different rendering methods (CSR / SSR / SSG). Its core functionalities include the authentication of users, searching & filtering for products, implementation of the order & payment process and management of products & categories.
You can see the application in action by checking out the live demo.
To try out the payment process you can use a payment method that redirects to a demo page to approve or disapprove the payment like Giropay or use the following demo credit card:
CARD-NR.: 4242 4242 4242 4242
EXPIRY DATE: use a future date
CHECK DIGIT: 424
- Authentication (NextAuth & JWT)
- Login & register
- Edit account information
- Responsive design
- SEO-optimized
- Search & filter for products
- Cart functionality
- Create Reviews
- Buy products and payment process
- Order overview
- E-Mail confirmation
- Manage products
- Manage categories
- Upload product images
- Edit recommended products
- Order overview
- Edit order status
- Manage staff accounts
- NodeJS
- PostgresSQL Database
- Cloudinary API Key (register here)
- Stripe API Key (register here)
To setup the project follow the the next steps. It's important to create an .env
file based on the required environment variables in .env.sample
before running the application.
# 1. Clone repository
$ git clone https://github.com/kecioch/teetasse
# 2 Navigate into repository
$ cd teetasse
# 3 Install dependencies
$ npm i
# 4 Rename .env.sample to .env file and fill out the environment variables
# 5 Start in devmode
$ npm run dev
# 5.2 Start in buildmode
$ npm run build && npm run start