enterprise_assest_managemen.../1_PROJECT_LAUNCH.md

6.5 KiB

🚀 Project Launch Instructions

This document provides step-by-step instructions for launching the Enterprise Asset Management System.

Prerequisites

  • Node.js (v18 or higher)
  • Docker and Docker Compose
  • Git

Option 1: One-Command Setup

# Complete setup for new developers
make quick-start

# Then start development servers
make dev-fe    # Frontend (port 3000)
make dev-api   # Node API (port 3001)

Option 2: Manual Setup

# 1. Install dependencies
make install

# 2. Start backend services
make dev

# 3. Import database schema
make schema

# 4. Start development servers
make dev-fe    # Frontend (port 3000)
make dev-api   # Node API (port 3001)

Server Commands

# Start Node API development server
make dev-api

# Start frontend development server
make dev-fe

# Start entire development environment
make dev

Direct NPM Commands

# Node API Server
cd node_api
npm run dev          # Development mode (auto-reload)
npm start           # Production mode

# Frontend Server
cd frontend
npm run dev         # Development mode
npm run build       # Build for production

Complete Development Setup

Step-by-Step Launch

# 1. Clone and setup
git clone <your-repo-url>
cd enterprise-asset-management

# 2. Install dependencies
make install

# 3. Start backend services (PostgreSQL, Directus, Redis)
make dev

# 4. Import database schema and sample data
make schema

# 5. Start Node API server (Terminal 1)
make dev-api

# 6. Start frontend dev server (Terminal 2)
make dev-fe

Service URLs

After successful launch, you can access:

Default Credentials

Directus Admin

Database

  • Host: localhost
  • Port: 5432
  • Database: asset_management
  • Username: postgres
  • Password: postgres

Environment Files

Frontend (.env)

# Copy example file
cp frontend/.env.example frontend/.env

# Edit with your settings
VITE_API_URL=http://localhost:3001
VITE_DIRECTUS_URL=http://localhost:8055

Node API (.env)

# Copy example file
cp node_api/.env.example node_api/.env

# Edit with your settings
PORT=3001
DB_HOST=localhost
DB_PORT=5432
DB_NAME=asset_management
DB_USER=postgres
DB_PASSWORD=postgres
DIRECTUS_URL=http://localhost:8055

Development Workflow

Daily Development

# 1. Start backend services
make dev

# 2. Start API server (Terminal 1)
make dev-api

# 3. Start frontend (Terminal 2)
make dev-fe

# 4. Start coding! 🎯

Stopping Services

# Stop all Docker services
make down

# Or stop individual processes
Ctrl+C in terminal windows

Troubleshooting

Port Conflicts

# Check what's using ports
lsof -i :3000  # Frontend
lsof -i :3001  # Node API
lsof -i :5432  # PostgreSQL
lsof -i :8055  # Directus

# Kill processes if needed
kill -9 <PID>

Database Issues

# Reset database completely
make db-reset

# Check database connection
make status

Clean Start

# Clean everything and start fresh
make clean
make quick-start

Check Service Status

# View running containers
make status

# View logs
make logs

# View specific service logs
docker-compose logs -f postgres
docker-compose logs -f directus

Architecture Overview

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend      │    │   Node API      │    │   Database      │
│   (Vue.js)      │    │   (Express)     │    │   (PostgreSQL)  │
│   Port: 3000    │────│   Port: 3001    │────│   Port: 5432    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                                              │
         │              ┌─────────────────┐             │
         └──────────────│   Directus      │─────────────┘
                        │   (Headless CMS)│
                        │   Port: 8055    │
                        └─────────────────┘

Available Make Commands

Run make help to see all available commands:

make help          # Show all available commands
make install       # Install dependencies
make dev           # Start development environment
make dev-fe        # Start frontend server
make dev-api       # Start Node API server
make schema        # Import database schema
make build         # Build for production
make prod          # Start production environment
make up            # Start all Docker services
make down          # Stop all Docker services
make restart       # Restart all services
make logs          # Show service logs
make clean         # Clean up containers and volumes
make db-reset      # Reset database with fresh schema
make status        # Show system status
make quick-start   # Complete setup for new developers

Feature Development

Creating New Features

# 1. Create feature branch
git checkout -b feature/your-feature

# 2. Start development servers
make dev-api
make dev-fe

# 3. Make changes and test
# Frontend: http://localhost:3000
# API: http://localhost:3001

# 4. Commit and push
git add .
git commit -m "Add your feature"
git push

Testing Your Changes

Production Deployment

# Build and run production environment
make prod

# Or build frontend only
make build

Need Help?

  1. Check make help for all available commands
  2. Review GIT_COMMANDS.md for Git workflow
  3. Check service logs: make logs
  4. Reset everything: make clean && make quick-start

Happy Coding! 🎉

For more detailed information, see the project documentation in the docs/ directory.