Esteros - Online ice cream shop
Tags: redishackathon, microservices, node, svelte
Published: 2022-08-29 16:49:42


![Es terosss meme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bn4focipeiczu9qmo3io.jpg)

### Overview of My Submission

My main inspiration in creating this project was the project that was used as an example for this Hackaton. That is, [microservices-demo](https://github.com/GoogleCloudPlatform/microservices-demo) which is licensed under the [Apache 2.0 license](https://github.com/GoogleCloudPlatform/microservices-demo/blob/main/LICENSE).

For the name of this project, I was inspired by the meme above. Hahahaha...

This meme basically describes how most Indonesian mothers respond when their child coughs. Most of them will immediately respond by saying "es terosss" which means "ice agaiiin". So, ice (or ice cream) is always considered the cause of our coughs.

Okay, time to get serious.

This project is a very simple web-based online ice cream shop. The app is powered by 3 microservices, all of which are written in TypeScript for the Node.js platform. The three microservices communicate with each other using Redis Pub/Sub, and are linked using API Gateway which is also written in TypeScript for the Node.js platform. To display the interface to the user, this application uses Svelte with its SvelteKit framework which is also written in TypeScript.

All data is stored in Redis using RedisJSON which can be retrieved with RediSearch, except photos stored in Minio.

### Submission Category: Microservice Mavens

### Language Used

- Node.js (TypeScript) - Back-end microservices
- Svelte (TypeScript) - Fron-end

### Link to Code

[https://github.com/hapakaien/esteros](https://github.com/hapakaien/esteros)

{% embed https://github.com/hapakaien/esteros %}

### Contributors

- None

### Additional Resources / Info

Many thanks to all the open source projects that have helped me in making this application.

Some of them are below.

- [Git](https://git-scm.com/)
- [Redis Stack](https://github.com/redis-stack/redis-stack)
- [Minio](https://github.com/minio/minio)
- [Node.js](https://github.com/nodejs/node)
- [pnpm](https://github.com/pnpm/pnpm)
- [TypeScript](https://github.com/microsoft/TypeScript/)
- [SvelteKit](https://github.com/sveltejs/kit)

Apart from the above, there are many others. However, it would be too long to explain one by one. Mainly which are dependencies of my project.

Thank you so much everyone for creating a project that has helped the work of many people.

#### Screenshoots

1. Homepage
![Esteros homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wm3e6asbnmffbbkgyep7.png)

2. Product detail
![Esteros's product detail](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rgmlsdk76npcb8ezt3my.png)

3. Cart
![Esteros's filled cart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o094gdpmrtmma5ujpr5v.png)

4. Order complete
![Esteros's order complete](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zkjwtaham04ww40pv3py.png)

- - - 

* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._