-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is a sample with a React Admin and Loopback4 to implement Crud operations on products
and users
by requesting APIs with LoopBack4 Provider that you can install with npm install react-admin-loopback4-adapted
.
follow the instructions to get node in your local machine
sudo apt install curl
,
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
,
source ~/.profile
,
nvm install v12.18.3
,
nvm use v12.18.3
.
install the node package manager with the command sudo apt install npm
, and check the npm version with npm -v
.
install mongoDb from the official website https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
and follow the guide to get the final release MongoDB 4.4
.
note : if an error occur when you try to open the mongodb console with the command mongo
check if the mongod.service
is in active state with the command sudo systemctl status mongod.service
, you can activate the mongod.service
with the command sudo systemctl start mongod.service
,
if you want to activate mongod.service
automatically on startup of ubuntu use the following comands:
sudo systemctl enable mongod.service
then sudo systemctl start mongod.service
.
install mongodb Compass from the official website https://www.mongodb.com/try/download/compass
and follow instructions to get it on your local machine.this tool helps you to manage easily your database.
After cloning the project with git clone https://github.com/PlanetConectus/LoopBack4ReactAdminExample.git
get inside the ecommerce
folder in both Frontreactadmin
and BackendLoopbackV4
folders and install the node packages with the commande npm install
.
in this project we tried to reduce complexity for you to get both the frontend server and the backend server in the same local machine to do this we force the binding port of the Loopback4 server to 3001
in the LoopBack4ReactAdminExample/BackendLoopbackV4/ecommerce/src/index.ts
file, this is because you cant bind two processes to the same [IP:PORT]
in our case the binding IP is 127.0.0.1
it's known as localhost
, this modification will prevent CORS blocks
by you navigator,to solve this problem we use the integrated node proxy by adding this line "proxy": "http://localhost:3001"
in the LoopBack4ReactAdminExample/Frontreactadmin/ecommerce/package.json
.
after setting the changes that we mention in the previous section we start turning the servers and discover how easy is to create
and modify
or delete
a product
or a user
- get in
LoopBack4ReactAdminExample/BackendLoopbackV4/ecommerce
and run the commandnpm start
> node -r source-map-support/register .
Server is running at http://[::1]:3001
Try http://[::1]:3001/ping
- get in the
LoopBack4ReactAdminExample/Frontreactadmin/ecommerce
and run the commandnpm start
Compiled successfully!
You can now view ecommerce in the browser.
Local: http://localhost:3000
On Your Network: http://172.18.25.22:3000
Note that the development build is not optimized.
To create a production build, use npm run build.
- copy this link
http://localhost:3000
to your browser to get in the react admin app and start managing theproducts
andusers
.
in the react admin application the src/app.js
is exported to the entry point src/index.js
where node start resolving and mapping the imports
and exports
, look at the top of the index.js
file to see the import of app.js
:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
inside the app.js
you will find all what you want to know about how the application resolve the
the items from APIs by importing the module react-admin-loopback4-adapted
and instantiate an object from
the lb4Provider
that takes as a @param the url to the backend server http://localhost:3001
:
const dataProvider = lb4Provider('http://localhost:3001');
note in this sample the authentication is not integrated we will complete it in the next tutorial
Site : https://planetconectus.com
E-mail : mohamedali.chaabani@planetconectus.com
Phone : 00216 26 410 947