A powerful and intuitive admin dashboard built with the MERN (MongoDB, Express.js, React.js, Node.js) stack.
Demo 🚀
Note
Since the demo is hosted on a free tier instance which shuts down after 15 minutes if not being used, it may take a while to get up and running when you open the demo.
- 📈 Real-time data visualization
- 👥 User management
- 🛒 Product inventory tracking
- 💹 Sales analytics
- 🗺️ Geographic data representation
- 🌓 Dark/Light mode toggle
- Frontend: React.js with Material-UI
- Backend: Node.js with Express.js
- Database: MongoDB
- State Management: Redux Toolkit
- Charts: Nivo Charts
- Deployment: Render
/api/users
: User management/api/products
: Product inventory/api/sales
: Sales data/api/analytics
: Analytics data
This project includes Docker support for easy deployment and development. To use Docker:
- Ensure Docker and Docker Compose are installed on your machine
- Run
docker-compose up --build
in the root directory
- Node.js (v14+)
- React.js (v18+)
- MongoDB
- Clone the repo
git clone https://github.com/yourusername/your-repo-name.git
-
🐳 Build using Docker (Recommended)
-
Building containers: To build your container for the first time:
export $(cat ./server/.env | xargs) && docker-compose up --build
To start your containers without rebuilding:
docker-compose up
To run the containers in detached mode (in the background):
docker-compose up -d
To stop the containers:
docker-compose down
-
-
📦 Build using npm
-
Install NPM packages for both frontend and backend
cd client && npm install cd ../server && npm install
-
Create a
.env
file in the server directory and add your MongoDB connection stringMONGO_URL=your_mongodb_connection_string
-
Start the development servers
In the server directory
npm run dev
In the client directory
npm run start
-
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Tip
Some additional tips:
-
Viewing logs: If your containers are running in detached mode and you want to see the logs:
docker-compose logs
Or for a specific service:
docker-compose logs server
-
Entering a running container: If you need to run commands inside a running container:
docker-compose exec server sh
This opens a shell in the server container.
-
Restarting a single service: If you've made changes to just one part of your application:
docker-compose restart server
-
Checking the status of your containers:
docker-compose ps