A web-based dashboard for managing product locations in a store. This system captures barcode IDs (SKUid) and their XYZ coordinates with centimeter accuracy, and displays this data in a user-friendly dashboard.
- Product Management: View, add, edit, and delete products with their coordinates
- User Management: Manager and Associate roles with different access levels
- Barcode Lookup: Auto-populate product information from barcode IDs
- CSV/Excel Import: Bulk import products from spreadsheets
- Change Tracking: Log all changes to products (who, what, when)
- Responsive Design: Works on desktop and mobile devices
- Frontend: Next.js (React), Tailwind CSS
- Backend: Node.js, Express
- Database: JSON file-based storage
- Authentication: JWT (JSON Web Tokens)
- Node.js (v14 or higher)
- npm (v6 or higher)
- Clone the repository
git clone https://github.com/yourusername/mom-pop-navigator.git
cd mom-pop-navigator
- Install backend dependencies
cd backend
npm install
- Install frontend dependencies
cd ../frontend
npm install
- Create a
.envfile in the backend directory with the following variables:
PORT=5000
JWT_SECRET=your_secret_key
JWT_EXPIRES_IN=30d
NODE_ENV=development
BARCODE_API_KEY=your_barcode_api_key
- Generate mock data (optional)
cd backend
npm run generate-mock-data
- Start the backend server
npm run dev
- In a new terminal, start the frontend development server
cd frontend
npm run dev
- Open your browser and navigate to
http://localhost:3000
-
Manager
- Username: manager
- Password: manager123
-
Associate
- Username: associate
- Password: associate123
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userGET /api/auth/profile- Get current user profile
GET /api/products- Get all productsGET /api/products/:id- Get product by IDPOST /api/products- Create a new productPUT /api/products/:id- Update a productDELETE /api/products/:id- Delete a productPOST /api/products/import- Import products from CSV/ExcelGET /api/products/barcode/:barcodeId- Lookup product info by barcode
GET /api/users- Get all usersGET /api/users/:id- Get user by IDPOST /api/users- Create a new userPUT /api/users/:id- Update a userDELETE /api/users/:id- Delete a userPUT /api/users/:id/assign-products- Assign products to user
This project is licensed under the ISC License.