Welcome to the Warehouse application! This project is a full-stack application designed to manage warehouse operations, including products, shipments, and statuses. It consists of a backend Express application, a frontend Angular application, and a MySQL database.
The Warehouse application is divided into three main parts:
- Backend: An Express application providing a REST API for managing warehouse operations.
- Frontend: An Angular application for a client-facing interface to interact with the warehouse data.
- Database: A MySQL database to store all application data.
- Node.js (version 12 or higher)
- npm (version 6 or higher)
- MySQL database
- Docker (optional, for running the database in a container)
- Navigate to the
backend/directory. - Copy the
.env.examplefile to.envand update the environment variables, especiallyDATABASE_URL. - Run
npm installto install dependencies. - Run
npm run prisma:migrateto create database schema. (If necessary, when DB is running) - Run
npm run prisma:generateto generate Prisma client. - Build the application with
npm run build. - Start the application with
npm start.
For detailed instructions, refer to the backend README: backend/README.md.
- Navigate to the
frontend/directory. - Run
npm installto install dependencies. - Start the application with
npm start.
For detailed instructions, refer to the frontend README: frontend/README.md.
- Ensure Docker is installed and running.
- Navigate to the
database/directory. - Copy the .env.example file to .env and update the environment variables.
- Run
docker-compose up -dto start the database in a Docker container (optional). - Apply migrations and seed the database as described in the backend setup.
For detailed instructions, refer to the database README: database/README.md.
After setting up the backend, frontend, and database, you can start the backend and frontend applications as described in their respective sections. Ensure the database is running and accessible.
- Backend tests can be run with
npm testin thebackend/directory. - Frontend tests can be run with
ng testin thefrontend/directory.
The backend REST API documentation is available at http://localhost:<PORT>/api-docs (replace <PORT> with your configured port).
This project is licensed under the MIT License - see the LICENSE file.