{"id":49624932,"url":"https://github.com/aymanemehdi/packpal","last_synced_at":"2026-05-05T05:06:10.709Z","repository":{"id":353679239,"uuid":"1220467450","full_name":"AymaneMehdi/PACKPAL","owner":"AymaneMehdi","description":"PACKPAL - Administration System is designed for organizations to manage products, categories, customers, orders, and other admin users efficiently. It provides a secure, modular, and scalable backend to support administrative operations.","archived":false,"fork":false,"pushed_at":"2026-04-25T00:33:39.000Z","size":165,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-25T02:21:56.380Z","etag":null,"topics":["ant-design","axios","bcryptjs","cors","dotenv","expressjs","javascript","jsonwebtoken","jwt","mongodb","mongoose","nodejs","nodemon","npm","react-router","reactjs","redux","redux-thunk","tailwindcss","vercel"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AymaneMehdi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-24T23:47:57.000Z","updated_at":"2026-04-25T00:33:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AymaneMehdi/PACKPAL","commit_stats":null,"previous_names":["aymanemehdi/packpal"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/AymaneMehdi/PACKPAL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AymaneMehdi%2FPACKPAL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AymaneMehdi%2FPACKPAL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AymaneMehdi%2FPACKPAL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AymaneMehdi%2FPACKPAL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AymaneMehdi","download_url":"https://codeload.github.com/AymaneMehdi/PACKPAL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AymaneMehdi%2FPACKPAL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32636122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ant-design","axios","bcryptjs","cors","dotenv","expressjs","javascript","jsonwebtoken","jwt","mongodb","mongoose","nodejs","nodemon","npm","react-router","reactjs","redux","redux-thunk","tailwindcss","vercel"],"created_at":"2026-05-05T05:06:06.321Z","updated_at":"2026-05-05T05:06:10.694Z","avatar_url":"https://github.com/AymaneMehdi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PACKPAL - Administration System\n\n\u003cimg src=\"./PACKPAL.png\" alt=\"PACKPAL\" /\u003e \n\n---\n\n## Overview\nPACKPAL - Administration System is designed for organizations to manage products, categories, customers, orders, and other admin users efficiently. It provides a secure, modular, and scalable backend to support administrative operations.\n\n## Features\n- **Authentication \u0026 Authorization:** Secure login and role-based access control.\n- **Product Management:** CRUD operations for products.\n- **Category Management:** Organize products into categories.\n- **Customer Management:** View and manage customer details.\n- **Order Management:** Track and manage customer orders.\n- **Admin \u0026 User Management:** Manage other admins and users.\n- **Statistics:** Generate reports and statistics for better insights.\n\n---\n\n# PACKPAL Back-End\n\nIt is built with **Node.js**, **Express.js**, and **MongoDB**, providing authentication, mailing, data tracking, and business logic management.\n\n---\n\n## Features\n\n- User authentication with JWT \u0026 bcrypt  \n- Product, Order, Customer, and Category management APIs  \n- User management APIs  \n- Statistics tracking APIs  \n- Middleware for authentication \u0026 error handling  \n- CORS support  \n- MongoDB \u0026 Mongoose integration  \n\n---\n\n## Project Structure\n\n```\nPACKPAL-Back-End/\n├── Config/                 # Configuration (DB connection, etc.)\n│   └── db.js\n│\n├── controllers/            # Business logic\n│   ├── authController.js\n│   ├── categoriesController.js\n│   ├── customersController.js\n│   ├── loginController.js\n│   ├── ordersController.js\n│   ├── productsController.js\n│   ├── statisticsController.js\n│   └── usersController.js\n│\n├── middleware/             # Middleware (auth, error handling, etc.)\n│   ├── auth.js\n│   └── errorHandler.js\n│\n├── models/                 # Mongoose models\n│   ├── category.js\n│   ├── customer.js\n│   ├── order.js\n│   ├── product.js\n│   └── user.js\n│\n├── routes/                 # API routes\n│   ├── categoryRouter.js\n│   ├── customerRouter.js\n│   ├── loginRouter.js\n│   ├── orderRouter.js\n│   ├── productRouter.js\n│   ├── statisticRouter.js\n│   └── userRouter.js\n│\n├── app.js                  # Express app configuration\n├── package.json            # Dependencies \u0026 scripts\n├── vercel.json             # Vercel deployment config\n└── .gitignore\n```\n\n---\n\n## Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/AymaneMehdi/PACKPAL.git\n   cd PACKPAL\n   cd PACKPAL-Back-End\n   ```\n\n2. **Install dependencies**\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables**  \n   Create a `.env` file in the root directory:\n\n   ```env\n   PORT=5000\n   MONGO_URL=your_mongodb_connection_string\n   ```\n\n---\n\n## Running the Project\n\n### Development\n```bash\nnpm start\n```\n\nThe Back-End will run at [http://localhost:5000](http://localhost:5000).\n\n---\n\n## Tech Stack\n\n- **Node.js**  \n- **Express.js**  \n- **MongoDB + Mongoose**  \n- **JWT Authentication**  \n- **Bcrypt.js** (password hashing)  \n- **Vercel** (for deployment)  \n\n---\n\n# PACKPAL Back-Office\n\nIt is built with **React.js**, **Redux**, and **TailwindCSS**, and integrates with the PACKPAL Back-End API.  \n\n---\n\n## Features\n\n- Authentication \u0026 Protected Routes (React Router DOM)  \n- Product, Category, Customer \u0026 Order Management  \n- User \u0026 Partner Management Dashboard  \n- Statistics \u0026 Charts with **Recharts**  \n- Modern UI with **TailwindCSS** \u0026 **Ant Design**  \n- Notifications via **react-hot-toast**  \n- Redux state management with Thunk middleware  \n\n---\n\n## Project Structure\n\n```\nPACKPAL-Back-Office/\n├── public/              \n│   └── index.html\n│\n├── src/                 \n│   ├── API/             # API service files\n│   │   ├── Categories.js\n│   │   ├── Customers.js\n│   │   ├── orders.js\n│   │   ├── Products.js\n│   │   └── Users.js\n│   │\n│   ├── assets/          # Images \u0026 static assets\n│   │   ├── logo 1.png\n│   │   └── logo 2.png\n│   │\n│   ├── components/      # Reusable UI components\n│   │   ├── card.jsx\n│   │   └── Doughnut.jsx\n│   │\n│   ├── pages/           # Application pages\n│   │   ├── Category.jsx\n│   │   ├── Customer.jsx\n│   │   ├── Dashboard.jsx\n│   │   ├── Login.jsx\n│   │   ├── Order.jsx\n│   │   ├── Product.jsx\n│   │   └── User.jsx\n│   │\n│   ├── Redux/           # Redux state management\n│   │   ├── actions/\n│   │   ├── reducers/\n│   │   ├── Types/\n│   │   └── store.js\n│   │\n│   ├── App.js           # Main app component\n│   ├── index.js         # Entry point\n│   ├── index.css        # Global styles\n│   └── PrivateRoute.js  # Protected routes\n│\n├── tailwind.config.js   # TailwindCSS config\n├── package.json         # Dependencies \u0026 scripts\n└──  .gitignore\n\n```\n\n---\n\n## Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/AymaneMehdi/PACKPAL.git\n   cd PACKPAL\n   cd PACKPAL-Back-Office\n   ```\n\n2. **Install dependencies**\n   ```bash\n   npm install\n   ```\n\n---\n\n## Running the Project\n\n### Development\n```bash\nnpm start\n```\nRuns the app in development mode at [http://localhost:3000](http://localhost:3000).\n\n### Build for Production\n```bash\nnpm run build\n```\nBuilds the app for production into the `build/` folder.\n\n---\n\n## Tech Stack\n\n- **React.js 18**  \n- **Redux + Redux Thunk**  \n- **React Router DOM (v6)**  \n- **TailwindCSS 3**  \n- **Ant Design (UI Components)**  \n- **Recharts (Charts \u0026 Stats)**  \n- **Axios (API calls)**  \n- **react-hot-toast (Notifications)**  \n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).  \n\n---\nCopyright© Aymane Mehdi\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faymanemehdi%2Fpackpal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faymanemehdi%2Fpackpal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faymanemehdi%2Fpackpal/lists"}