StockKala is an inventory management system built with Node.js, Express.js, Sequelize ORM, and MySQL.
The project is focused on building a practical, backend-oriented inventory application while practicing real-world software engineering concepts such as MVC architecture, relational database design, CRUD operations, validation, business logic, and error handling.
StockKala is currently under active development.
Manage inventory products with:
- Product name
- SKU
- Price
- Stock quantity
- Description
- Product image
- Create, read, update, and delete operations
- Product detail page
- Shared create/edit product form
Organize products using categories.
Current functionality includes:
- Create categories
- View categories
- Update categories
- Delete categories
- Product-category relationships
The current product system supports storing and managing stock quantities.
Planned inventory functionality includes:
- Stock adjustments
- Stock movement history
- Inventory transactions
- Low-stock detection
- Inventory activity tracking
Product input validation is being added using server-side validation.
Planned validation and integrity features include:
- Required field validation
- Price validation
- Stock quantity validation
- SKU validation
- URL validation
- Database constraints
- Unique SKU enforcement
- Node.js
- Express.js
- Sequelize ORM
- MySQL
- EJS Template Engine
- HTML
- CSS
- Nodemon
- dotenv
StockKala follows an MVC-style architecture:
Client Request
│
▼
Express Routes
│
▼
Controllers
│
▼
Sequelize Models
│
▼
MySQL Database
The application uses shared EJS components for common UI elements such as:
views/
├── includes/
│ ├── head.ejs
│ ├── navigation.ejs
│ └── end.ejs
│
├── products/
└── categories/
StockKala is being developed to practice:
- Backend architecture
- MVC architecture
- Express.js
- Sequelize ORM
- MySQL
- Relational database design
- Model relationships
- CRUD operations
- Server-side validation
- Error handling
- Business logic
- Inventory domain modeling
- Authentication and authorization
- Production-oriented application design
- Express.js setup
- MVC structure
- EJS views
- Sequelize integration
- MySQL connection
- Environment configuration
- Shared view components
- Product CRUD
- Category CRUD
- Product detail pages
- Product/category relationships
- Shared product create/edit form
- Server-side validation
- Centralized error handling
- 404 handling
- Validation error rendering
- Database constraints
- Unique SKU enforcement
- Better database error handling
- Stock adjustments
- Stock movement records
- Inventory history
- Low-stock detection
- Inventory activity tracking
- Product search
- Filtering
- Sorting
- Pagination
- Improved inventory views
- Dashboard
- Authentication
- User accounts
- Authorization / roles
- Activity tracking
User accounts and authentication are intentionally being evaluated after the core inventory system is established.
- API endpoints
- Security hardening
- Logging
- Transactions
- Docker
- Deployment
- Production configuration
🚧 Active Development
StockKala is currently being developed as a backend-focused inventory management application.
The core CRUD foundation is being built first, followed by validation, centralized error handling, and inventory-specific business logic. Authentication, users, and other production features will be introduced when they provide meaningful value to the application.