Initial commit - PromptTech
This commit is contained in:
315
WORKSPACE_STRUCTURE.md
Normal file
315
WORKSPACE_STRUCTURE.md
Normal file
@@ -0,0 +1,315 @@
|
||||
# PromptTech Solutions - Workspace Structure
|
||||
|
||||
## 📁 Project Organization
|
||||
|
||||
```
|
||||
PromptTech_Solution_Site/
|
||||
│
|
||||
├── 📄 README.md # Main project documentation
|
||||
├── 📄 WORKSPACE_STRUCTURE.md # This file - workspace organization guide
|
||||
├── 📄 .gitignore # Git ignore rules
|
||||
├── 📄 yarn.lock # Yarn dependencies lock file
|
||||
├── 📄 nohup.out # Background process output
|
||||
│
|
||||
├── 📂 backend/ # Backend FastAPI application
|
||||
│ ├── server.py # Main FastAPI server
|
||||
│ ├── models.py # SQLAlchemy ORM models
|
||||
│ ├── database.py # Database configuration
|
||||
│ ├── create_admin.py # Admin user creation script
|
||||
│ ├── requirements.txt # Python dependencies
|
||||
│ └── __pycache__/ # Python cache files
|
||||
│
|
||||
├── 📂 frontend/ # Frontend React application
|
||||
│ ├── package.json # Node.js dependencies
|
||||
│ ├── craco.config.js # CRACO configuration
|
||||
│ ├── jsconfig.json # JavaScript configuration
|
||||
│ ├── tailwind.config.js # Tailwind CSS configuration
|
||||
│ ├── postcss.config.js # PostCSS configuration
|
||||
│ ├── components.json # UI components configuration
|
||||
│ ├── build/ # Production build output
|
||||
│ ├── public/ # Static assets
|
||||
│ │ ├── index.html # HTML template
|
||||
│ │ └── logo.png # PTB logo
|
||||
│ └── src/ # Source code
|
||||
│ ├── App.js # Main app component
|
||||
│ ├── index.js # Entry point
|
||||
│ ├── components/ # React components
|
||||
│ │ ├── cards/ # Card components
|
||||
│ │ ├── layout/ # Layout components (Navbar, Footer)
|
||||
│ │ └── ui/ # shadcn/ui components
|
||||
│ ├── context/ # React contexts
|
||||
│ │ ├── AuthContext.js # Authentication context
|
||||
│ │ ├── CartContext.js # Shopping cart context
|
||||
│ │ └── ThemeContext.js # Theme context
|
||||
│ ├── hooks/ # Custom React hooks
|
||||
│ ├── lib/ # Utility libraries
|
||||
│ └── pages/ # Page components
|
||||
│ ├── Home.js
|
||||
│ ├── Products.js
|
||||
│ ├── Services.js
|
||||
│ ├── AdminDashboard.js # Admin panel
|
||||
│ └── ...
|
||||
│
|
||||
├── 📂 docs/ # Documentation
|
||||
│ ├── design_guidelines.json # Design system guidelines
|
||||
│ ├── features/ # Feature documentation
|
||||
│ │ ├── USER_MANAGEMENT_FEATURE.md
|
||||
│ │ ├── FEATURE_MULTI_IMAGE_RICHTEXT.md
|
||||
│ │ └── INVENTORY_FEATURES.md
|
||||
│ ├── guides/ # User and admin guides
|
||||
│ │ ├── ADMIN_GUIDE.md
|
||||
│ │ ├── PM2_GUIDE.md
|
||||
│ │ ├── QUICK_START.md
|
||||
│ │ ├── USAGE_GUIDE.md
|
||||
│ │ └── README_QUICK_START.txt
|
||||
│ └── reports/ # Technical reports
|
||||
│ ├── DATABASE_HEALTH_REPORT.md
|
||||
│ ├── DATABASE_OPTIMIZATION_REPORT.md
|
||||
│ ├── DATABASE_QUICK_REFERENCE.md
|
||||
│ ├── DEEP_DEBUG_REPORT.md
|
||||
│ ├── PERFORMANCE_FIXES.md
|
||||
│ ├── PERFORMANCE_OPTIMIZATIONS.md
|
||||
│ ├── SERVICES_INVENTORY_REPORT.md
|
||||
│ ├── SERVICES_STATUS_REPORT.md
|
||||
│ ├── RELOAD_ISSUE_DIAGNOSIS.md
|
||||
│ ├── ADMIN_SERVICES_FIX.md
|
||||
│ ├── FIX_SUMMARY.md
|
||||
│ ├── PERMANENT_FIX_SUMMARY.md
|
||||
│ ├── README_REFACTORING.md
|
||||
│ ├── REFACTORING_COMPLETE.md
|
||||
│ ├── REFACTORING_REPORT.md
|
||||
│ ├── ROOT_CAUSE_BROWSER_CACHE.txt
|
||||
│ ├── IMAGE_UPLOAD_TESTING.md
|
||||
│ ├── test_inventory_toggle.md
|
||||
│ └── test_result.md
|
||||
│
|
||||
├── 📂 scripts/ # Utility scripts
|
||||
│ ├── ecosystem.config.json # PM2 ecosystem configuration
|
||||
│ ├── start_backend.sh # Backend startup script
|
||||
│ ├── start_frontend.sh # Frontend startup script
|
||||
│ ├── start_with_pm2.sh # PM2 startup script
|
||||
│ ├── stop_pm2.sh # PM2 stop script
|
||||
│ ├── check_services.sh # Service health check
|
||||
│ ├── check_status.sh # Status check script
|
||||
│ ├── diagnose_services.sh # Service diagnostics
|
||||
│ ├── verify_admin_features.sh # Admin features verification
|
||||
│ ├── verify_services_complete.sh
|
||||
│ ├── test_database_integration.sh
|
||||
│ ├── test_refactoring.sh
|
||||
│ ├── test_reload_performance.sh
|
||||
│ ├── test_service_database.sh
|
||||
│ ├── test_services_complete.sh
|
||||
│ ├── test_services_inventory.sh
|
||||
│ ├── deep_debug_test.sh
|
||||
│ ├── final_verification.sh
|
||||
│ └── ...
|
||||
│
|
||||
├── 📂 tests/ # Test files
|
||||
│ ├── __init__.py # Python test package
|
||||
│ ├── admin_test.py # Admin functionality tests
|
||||
│ ├── backend_test.py # Backend API tests
|
||||
│ └── test_api.html # API testing HTML page
|
||||
│
|
||||
├── 📂 test_reports/ # Test execution reports
|
||||
│ ├── iteration_1.json
|
||||
│ └── iteration_2.json
|
||||
│
|
||||
├── 📂 logs/ # Application logs
|
||||
│
|
||||
├── 📂 Logo/ # Brand assets
|
||||
│ └── PTB-logo.png # PromptTech Solutions logo
|
||||
│
|
||||
└── 📂 archive/ # Archived/deprecated files
|
||||
├── techzone-source/ # Original TechZone source code
|
||||
├── techzone-source.zip # Original source backup
|
||||
└── memory/ # Old memory/context files
|
||||
└── PRD.md
|
||||
```
|
||||
|
||||
## 🗂️ Folder Descriptions
|
||||
|
||||
### Core Application Folders
|
||||
|
||||
#### `/backend/`
|
||||
|
||||
Contains the FastAPI backend application with:
|
||||
|
||||
- RESTful API endpoints
|
||||
- Database models and migrations
|
||||
- Authentication and authorization
|
||||
- Admin dashboard APIs
|
||||
- Image upload handling
|
||||
- Report generation (CSV, PDF)
|
||||
|
||||
**Tech Stack:** Python 3.x, FastAPI 2.0, SQLAlchemy, PostgreSQL, Bcrypt, JWT
|
||||
|
||||
#### `/frontend/`
|
||||
|
||||
Contains the React frontend application with:
|
||||
|
||||
- E-commerce product catalog
|
||||
- Service booking system
|
||||
- Shopping cart and checkout
|
||||
- Admin dashboard with full CRUD
|
||||
- User authentication
|
||||
- Image upload and management
|
||||
- Rich text editor integration
|
||||
|
||||
**Tech Stack:** React 19, TipTap 3.15, Tailwind CSS, shadcn/ui, Axios
|
||||
|
||||
### Documentation Folders
|
||||
|
||||
#### `/docs/features/`
|
||||
|
||||
Feature-specific documentation for:
|
||||
|
||||
- User Management System (RBAC with 5 roles)
|
||||
- Multi-image upload with rich text editor
|
||||
- Inventory management with filters and pagination
|
||||
|
||||
#### `/docs/guides/`
|
||||
|
||||
User and administrator guides:
|
||||
|
||||
- Admin Dashboard Guide
|
||||
- PM2 Process Manager Guide
|
||||
- Quick Start Guide
|
||||
- General Usage Guide
|
||||
|
||||
#### `/docs/reports/`
|
||||
|
||||
Technical reports and analysis:
|
||||
|
||||
- Database optimization reports
|
||||
- Performance analysis and fixes
|
||||
- Debugging reports
|
||||
- Refactoring documentation
|
||||
- Test results
|
||||
|
||||
### Utility Folders
|
||||
|
||||
#### `/scripts/`
|
||||
|
||||
Operational scripts for:
|
||||
|
||||
- Starting/stopping services (PM2)
|
||||
- Health checks and diagnostics
|
||||
- Testing and verification
|
||||
- Database operations
|
||||
|
||||
#### `/tests/`
|
||||
|
||||
Testing files including:
|
||||
|
||||
- Python unit tests
|
||||
- API integration tests
|
||||
- HTML test pages
|
||||
|
||||
#### `/test_reports/`
|
||||
|
||||
JSON reports from test execution iterations
|
||||
|
||||
#### `/archive/`
|
||||
|
||||
Deprecated or historical files:
|
||||
|
||||
- Original TechZone source code
|
||||
- Old memory/context files
|
||||
- Backup archives
|
||||
|
||||
## 🚀 Quick Access
|
||||
|
||||
### Start the Application
|
||||
|
||||
```bash
|
||||
# Using PM2 (recommended)
|
||||
./scripts/start_with_pm2.sh
|
||||
|
||||
# Or start services individually
|
||||
./scripts/start_backend.sh
|
||||
./scripts/start_frontend.sh
|
||||
```
|
||||
|
||||
### Access Points
|
||||
|
||||
- **Frontend:** <http://localhost:5300>
|
||||
- **Backend API:** <http://localhost:8181>
|
||||
- **API Docs:** <http://localhost:8181/docs>
|
||||
|
||||
### Admin Access
|
||||
|
||||
- **Email:** <admin@techzone.com>
|
||||
- **Password:** admin123
|
||||
- **Dashboard:** <http://localhost:5300/admin-dashboard>
|
||||
|
||||
## 📚 Key Documentation Files
|
||||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| [README.md](README.md) | Main project overview |
|
||||
| [docs/guides/QUICK_START.md](docs/guides/QUICK_START.md) | Get started quickly |
|
||||
| [docs/guides/ADMIN_GUIDE.md](docs/guides/ADMIN_GUIDE.md) | Admin dashboard usage |
|
||||
| [docs/guides/PM2_GUIDE.md](docs/guides/PM2_GUIDE.md) | Process management |
|
||||
| [docs/features/USER_MANAGEMENT_FEATURE.md](docs/features/USER_MANAGEMENT_FEATURE.md) | User management system |
|
||||
| [docs/features/INVENTORY_FEATURES.md](docs/features/INVENTORY_FEATURES.md) | Inventory management |
|
||||
|
||||
## 🛠️ Maintenance Scripts
|
||||
|
||||
| Script | Purpose |
|
||||
|--------|---------|
|
||||
| `scripts/check_services.sh` | Check service health |
|
||||
| `scripts/check_status.sh` | View PM2 status |
|
||||
| `scripts/stop_pm2.sh` | Stop all services |
|
||||
| `scripts/verify_admin_features.sh` | Test admin features |
|
||||
|
||||
## 📝 Notes
|
||||
|
||||
- All scripts in `/scripts/` should be executable (`chmod +x script_name.sh`)
|
||||
- PM2 ecosystem configuration is in `/scripts/ecosystem.config.json`
|
||||
- Frontend build output is in `/frontend/build/`
|
||||
- Backend Python virtual environment: `/backend/venv/`
|
||||
- Database: PostgreSQL (techzone database)
|
||||
- Uploaded files stored in: `/backend/uploads/`
|
||||
|
||||
## 🔐 Environment Variables
|
||||
|
||||
Backend uses:
|
||||
|
||||
- `DATABASE_URL` - PostgreSQL connection string
|
||||
- `SECRET_KEY` - JWT token secret
|
||||
- `CORS_ORIGINS` - Allowed CORS origins
|
||||
|
||||
Frontend uses:
|
||||
|
||||
- `REACT_APP_BACKEND_URL` - Backend API URL
|
||||
|
||||
## 📦 Dependencies
|
||||
|
||||
### Backend
|
||||
|
||||
See `/backend/requirements.txt` for Python packages
|
||||
|
||||
### Frontend
|
||||
|
||||
See `/frontend/package.json` for Node.js packages
|
||||
|
||||
## 🗄️ Database
|
||||
|
||||
- **Database:** techzone
|
||||
- **User:** techzone_user
|
||||
- **Port:** 5432
|
||||
- **Tables:** 15+ tables including users, products, services, orders, etc.
|
||||
|
||||
## 📮 Support
|
||||
|
||||
For issues or questions, refer to:
|
||||
|
||||
1. Quick Start Guide: `docs/guides/QUICK_START.md`
|
||||
2. Admin Guide: `docs/guides/ADMIN_GUIDE.md`
|
||||
3. Technical Reports: `docs/reports/`
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** January 12, 2026
|
||||
**Company:** PromptTech Solutions
|
||||
**Project:** E-commerce Platform with Admin Dashboard
|
||||
Reference in New Issue
Block a user