Example server application for a brand showcase web and mobile application (clone of the Uniqlo website and mobile app).
Implements a microservices architecture using Docker and a Node.js orchestrator. Data is served from a GraphQL server.
- CRUD (Create, Read, Update, Destroy) Entities
- User authentication & authorization (OAuth)
- Feature to add/edit/delete nested resources (product images) when editing main resources (product entities), using SQL transactions
- Microservices Architecture
REST API implemented using the following tech stack:
- Express.js
- PostgreSQL database
- ORM Sequelize
REST API implemented using the following tech stack:
- Express.js
- MongoDB database
Node.js application implemented using the following tech stack:
- Apollo Server (GraphQL)
- Caching with Redis
Run npm install
to install all packages and dependencies.
When running the application in a development environment (local machine), be sure to add the .env
files for each service (in each of the directories /services/app
, /services/users
, /orchestrator
).
To run each microservice, go to each microservice directory and run npm run dev
.
Dockerfiles have been provided to ship the application to a production environment. To get started with Dockerization, go to the directory where the file docker-compose.yml
is located, add the .env
file for the whole server application, and then run the command docker compose up -d