TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Nelsoncg98/InnovaTech/llms.txt
Use this file to discover all available pages before exploring further.
frontend-pos application is the in-store channel frontend for InnovaTech SOA. It is a fully independent React single-page application, separate from the frontend-web storefront, and is purpose-built for physical store point-of-sale terminals. Rather than browsing a catalog, operators use this app to submit sales transactions that are processed by the POS sales orchestrator (servicio-ventapos) through the API Gateway on port 8080.
Tech Stack
frontend-pos shares the same modern toolchain as frontend-web, as confirmed by package.json:
| Technology | Version | Role |
|---|---|---|
| React | 19.2.7 | UI component library |
| React DOM | 19.2.7 | DOM rendering |
| Vite | 8.1.0 | Dev server and build tool |
| @vitejs/plugin-react | 6.0.2 | Babel-based Fast Refresh |
| oxlint | 1.69.0 | Fast Rust-based linter |
| @types/react | 19.2.17 | TypeScript type definitions |
| @types/react-dom | 19.2.3 | TypeScript type definitions for DOM |
frontend-web, the project uses ES Modules ("type": "module") throughout.
Getting Started
Start the development server
Launch Vite’s dev server. The app starts on Vite’s default port:The POS terminal UI will be available at
http://localhost:5173. If frontend-web is running at the same time, configure a different port — see the tip at the bottom of this page.POS Integration
All POS transactions are submitted as HTTP POST requests to the API Gateway, which routes the/api/v1/ventas-pos/** path prefix upstream to servicio-ventapos on port 8082. The gateway’s application.yml defines this routing rule:
/api/v1/ventas-pos/sale. The following example shows a minimal sale request:
servicio-ventapos orchestrator receives the request and coordinates any downstream operations such as inventory updates via servicio-inventario (/api/v1/inventario/** on port 8081).
Differences from Web Storefront
Althoughfrontend-pos and frontend-web share the same technology stack, they serve distinct business channels and must be treated as separate applications:
| Aspect | frontend-web | frontend-pos |
|---|---|---|
| Channel | Digital / online customers | Physical store operators |
| Primary API route | /api/v1/catalogo/** | /api/v1/ventas-pos/** |
| Upstream service | servicio-catalogo (port 8084) | servicio-ventapos (port 8082) |
| Interaction model | Browse products, place online orders | Submit point-of-sale transactions |
| Deployment target | Web hosting / CDN | In-store kiosk or terminal hardware |
package.json, vite.config.js, and src/ tree.
Project Structure
| Path | Description |
|---|---|
index.html | HTML entry point; mounts the #root div and loads src/main.jsx as an ES module |
src/main.jsx | Application entry point; renders the root <App /> component into #root |
src/App.jsx | Root React component; top-level layout for the POS terminal interface |
src/App.css | Component-scoped styles for App.jsx |
src/index.css | Global baseline styles applied across the entire application |
src/assets/ | Static assets imported directly into components (e.g. react.svg, vite.svg, hero.png) |
public/favicon.svg | Browser tab icon, served at /favicon.svg |
public/icons.svg | SVG sprite sheet referenced by <use href="/icons.svg#..."> in components |
vite.config.js | Vite configuration; registers the @vitejs/plugin-react plugin |
Available Scripts
The following scripts are defined inpackage.json:
| Script | Command | Description |
|---|---|---|
dev | vite | Starts the Vite development server with HMR on http://localhost:5173 |
build | vite build | Bundles the app for production into the dist/ directory |
lint | oxlint | Runs the oxlint static analyser across the project source |
preview | vite preview | Serves the production dist/ build locally for pre-deploy verification |