Tech Giants is a management system designed to optimize operations for inventories, employees, products, customers, and orders. This project was developed as a final group college assignment, showcasing skills in full-stack web development and teamwork.
The system provides an interactive and responsive interface, enabling efficient visualization, insertion, updating, and reporting of key data.
- 📋 Inventory Management: Real-time visualization of product stock.
- 👥 Employee Management: Registration and supervision of employee data.
- 🛒 Order Management: Creation, tracking, and price calculation.
- 📈 Report Generation: Monthly and customer-specific reports in PDF format.
- 📧 Customer Management: Registration and detailed information updates.
- EJS: Dynamic templates for the interface.
- Bootstrap 5: Modern styling and responsive design.
- CSS3: Custom styling.
- Node.js with Express.js: Server logic and route handling.
- Mongoose: Data modeling for MongoDB.
- MongoDB Atlas: Cloud-based database.
- PDFKit: PDF report generation.
- dotenv: Environment variable management.
📁 TechGiants
├── 📂 controllers/ # Business logic controllers
│ ├── homeController.js
│ ├── insertController.js
│ ├── reportsController.js
│ └── updateController.js
├── 📂 jsons/ # JSON files for database population
│ ├── customer.json
│ ├── employee.json
│ ├── inventory.json
│ ├── order.json
│ └── product.json
├── 📂 models/ # Data models
│ ├── customerModel.js
│ ├── employeeModel.js
│ ├── inventoryModel.js
│ ├── orderModel.js
│ └── productModel.js
├── 📂 views/ # EJS templates
│ ├── home.ejs
│ ├── insert.ejs
│ ├── update.ejs
│ ├── reports.ejs
│ └── monthly_report.ejs
├── 📂 public/ # Static resources (CSS, JS, images)
│ ├── css/
│ │ ├── style.css
│ │ ├── insert_update.css
│ │ └── update.css
│ └── js/
│ ├── changeFontFamilyWebsite.js
├── 📄 .env # Environment variables
├── 📄 server.js # Main server
├── 📄 routes.js # Route definitions
└── 📄 README.md # This file
- Clone this repository:
git clone <repository_url>
- Install dependencies:
npm install
- Configure environment variables in a
.env
file:MONGO_URI=mongodb+srv://<user>:<password>@<cluster>.mongodb.net/<database>
This project includes a jsons
folder with pre-defined JSON files to populate the database with sample data. To populate the database:
- Open a MongoDB client or tool like
mongoimport
. - Use the JSON files located in the
jsons
folder to insert data into the respective collections (e.g.,customer.json
,product.json
).mongoimport --uri "<MONGO_URI>" --collection <collection_name> --file ./jsons/<file_name>.json --jsonArray
- Start the server:
npm start
- Access the system in your browser:
http://localhost:4545
- 🎨 Responsive Design: Compatible with both mobile and desktop devices.
- 📊 PDF Reports: Export key data for external analysis.
- ⚡ Optimization: Optimized routes and queries for efficient performance.
💼 Author: Juan Jacobo Florez Monroy | 🚀 Portfolio: [Portfolio Website or GitHub]