The Smart Inventory System is a web application built with Node.js, Express, EJS, and MySQL. It provides user authentication and a simple interface for managing an inventory of items, including adding, updating, and deleting items, as well as organizing them into categories.
- User Authentication: Sign up and sign in functionalities using bcrypt for password hashing.
- Inventory Management: CRUD (Create, Read, Update, Delete) operations for managing inventory items.
- Categories: Ability to categorize items for better organization.
- User-Friendly Interface: EJS templates for rendering views.
- Backend: Node.js, Express
- Database: MySQL
- Templating Engine: EJS
- Session Management: express-session
- Password Hashing: bcrypt
- Environment Variables: dotenv
- Node.js (v14 or later)
- MySQL Server
- A package manager (npm or yarn)
-
Clone the Repository:
git clone https://github.com/Indodanazwide/Smart-Inventory-System.git cd Smart-Inventory-System
-
Install Dependencies:
npm install
-
Set Up Environment Variables: Create a
.env
file in the root directory and add your database configuration:DB_HOST=your_database_host DB_USER=your_database_username DB_PASSWORD=your_database_password DB_NAME=group_db PORT=3000
-
Set Up the Database: Execute the SQL scripts provided in the project to create the necessary database and tables.
-
Run the Application: Start the server in development mode:
npm run dev
-
Access the Application: Open your browser and navigate to
http://localhost:3000
.
smart-inventory/
├── .env # Environment variables
├── database/ # Database connection and SQL scripts
├── doc/ # Documentation files
├── node_modules/ # Node.js modules
├── package-lock.json # Dependency lock file
├── package.json # Project metadata and dependencies
├── routes/ # Express routes
├── server/ # Server setup and configuration
└── views/ # EJS templates
Contributions are welcome! Please feel free to submit a pull request or open an issue.
This project is licensed under the ISC License. See the LICENSE file for details.
### Notes
- Make sure to customize the placeholders (like `your_database_host`, `your_database_username`, etc.) with your actual configurations.
- If you have specific instructions or notes for using your application, feel free to add those to the `README.md` as well.
- You can also include screenshots or examples in the documentation if you think it would be helpful.