To get the version of the application up and running within your local development environment, all of the following steps need to be completed:
-
Add
.envfiles to thebackend/customer-support,backend/order-processing, andfrontendfolders (based upon the available.env.examplefiles within each of those folders). -
Create the
customer_supportandorder_processingdatabases as well as their respective userscustomer_support_appandorder_processing_appusing the following SQL statements:
create database customer_support;
create user customer_support_app with encrypted password '«the customer_support_app user password»';
grant all privileges on database customer_support to customer_support_app;create database order_processing;
create user order_processing_app with encrypted password '«the order_processing_app user password»';
grant all privileges on database order_processing to order_processing_app;-
In the
backend/catalog-managementfolder, install the sub-project's dependencies by running the commandnpm installand run the commandnpm startto start the application. -
In the
backend/customer-supportfolder, install the sub-project's dependencies by running the commandnpm install, apply the Sequelize migrations and seed data by running the commandsnpx dotenv sequelize db:migrateandnpx dotenv sequelize db:seed:all, and run the commandnpm startto start the application. -
In the
backend/order-processingfolder, install the sub-project's dependencies by running the commandnpm install, apply the Sequelize migrations and seed data by running the commandsnpx dotenv sequelize db:migrateandnpx dotenv sequelize db:seed:all, and run the commandnpm startto start the application. -
In the
frontendfolder, install the sub-project's dependencies by running the commandnpm installand run the commandnpm startto start the application.
Whew! And these instructions assume that you have the correct versions of Node, npm, and PostgreSQL installed on your system!
After completing the above steps, you'll have four terminal windows open:
Now you can browse to http://localhost:3000/ to view the client-side UI: