Table of Contents
- Frontend Repository: https://github.com/hoanglechau/adomin-fe
- Backend Repository: https://github.com/hoanglechau/adomin-be
- Deployed Frontend: https://adomin.vercel.app/
- Deployed Backend: https://adomin-be-production.up.railway.app/
Adomin is a full-stack e-commerce Admin Dashboard app that displays graphs and tables of sales and performance stats.
- As a user, I can view a Dashboard with general sales information in table and graph forms.
- As a user, I can view a list of products.
- As a user, I can view a table with a list of customers.
- As a user, I can view a table with a list of transactions.
- As a user, I can view a world map showing where the users are located.
- As a user, I can view a line graph displaying an overview of general sales revenue and profit.
- As a user, I can view a chart of daily sales.
- As a user, I can view a chart of monthly sales.
- As a user, I can view a pie chart breakdown of sales by category.
- As a user, I can view a table with a list of admins.
- As a user, I can view a table with my Affiliate Sales Performance.
- As a user, I can toggle between light and dark modes.
- Users can switch between dark and light modes.
- In the Transactions page, users can choose to hide or show individual columns.
- In the Transactions page, users can change the display density of the table information (Compact, Standard, or Comfortable).
- In the Transactions page, users can download the data in CSV format.
- In the Transactions page, users can print the table.
- In the Overview page, users can change the unit of currency of the vertical axis (Units or Sales).
- In the Daily page, users can change the time period shown on the chart.
- All tables have server-side paginations. Users can change the number of rows per page, and change pages.
- React
- React Router
- Redux
- Redux Toolkit
- Material UI
- nivo (charts)
- Node.js
- Express
- MongoDB
- ESLint
- Prettier
/**
* @description Get all products
* @param {*} req
* @param {*} res
* @route GET /client/products
* @access Public
*/
/**
* @description Get all customers
* @param {*} req
* @param {*} res
* @route GET /client/customers
* @access Public
*/
/**
* @description Get the locations of all customers
* @param {*} req
* @param {*} res
* @route GET /client/geography
* @access Public
*/
/**
* @description Get a single user by ID
* @param {id} req
* @param {*} res
* @route GET /general/user/:id
* @access Public
*/
/**
* @description Get the Dashboard stats
* @param {*} req
* @param {*} res
* @route GET /general/dashboard
* @access Public
*/
/**
* @description Get all admins
* @param {*} req
* @param {*} res
* @route GET /management/admins
* @access Public
*/
/**
* @description Get the performance stats of users
* @param {id} req
* @param {*} res
* @route GET /management/performance/:id
* @access Public
*/
/**
* @description Get all sales data
* @param {*} req
* @param {*} res
* @route GET /sales/sales
* @access Public
*/
- Check your version of Node.js and npm
node -v npm -v
- Install Node.js and npm if needed at https://nodejs.org/en/download
- Clone the repo
git clone https://github.com/hoanglechau/adomin-be.git cd adomin-be
- Install NPM packages
npm install
- Create an
.env
file with the following contentsMONGO_URI=your_mongodb_uri PORT=your_port // default value: 9000
- Replace the default values with your own values for
PORT
(optional), andMONGO_URI
in the.env
file - Start the server
npm start
- Clone the repo
git clone https://github.com/hoanglechau/adomin-fe.git cd adomin-fe
- Install NPM packages
npm install
- Create an
.env
file with the following contentsREACT_APP_BASE_URL=your_api_url // default: http://localhost:5001
- Replace the value of
REACT_APP_BASE_URL
with the URL of your deployed API - Build the app
npm run build
- Run the app
npm run start