add initial template
This commit is contained in:
parent
4ed1e88dc2
commit
45a93e5a23
13 changed files with 457 additions and 13 deletions
113
start.sh
Executable file
113
start.sh
Executable file
|
@ -0,0 +1,113 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "🚀 Avvio Simple Fullstack App..."
|
||||
|
||||
# Colori per output
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Funzione per stampare messaggi colorati
|
||||
print_status() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
print_warning() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
# Controlla se Python3 è installato
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "❌ Python3 non trovato. Installa Python3 prima di continuare."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Controlla se Docker è installato
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "❌ Docker non trovato. Installa Docker prima di continuare."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Controlla se http-server è installato
|
||||
if ! command -v http-server &> /dev/null; then
|
||||
print_warning "http-server non trovato. Installando..."
|
||||
npm install -g http-server
|
||||
fi
|
||||
|
||||
# Crea virtual environment se non esiste
|
||||
if [ ! -d "venv" ]; then
|
||||
print_status "Creazione virtual environment..."
|
||||
python3 -m venv venv
|
||||
print_success "Virtual environment creato!"
|
||||
else
|
||||
print_status "Virtual environment già esistente"
|
||||
fi
|
||||
|
||||
# Attiva virtual environment
|
||||
print_status "Attivazione virtual environment..."
|
||||
source venv/bin/activate
|
||||
|
||||
# Installa dipendenze
|
||||
print_status "Installazione dipendenze Python..."
|
||||
pip install -r backend/requirements.txt
|
||||
print_success "Dipendenze installate!"
|
||||
|
||||
# Avvia MongoDB con Docker
|
||||
print_status "Avvio MongoDB con Docker..."
|
||||
cd backend
|
||||
docker-compose up -d
|
||||
cd ..
|
||||
|
||||
# Aspetta che MongoDB sia pronto
|
||||
print_status "Attesa MongoDB..."
|
||||
sleep 5
|
||||
|
||||
# Avvia backend in background
|
||||
print_status "Avvio backend FastAPI..."
|
||||
cd backend
|
||||
python main.py &
|
||||
BACKEND_PID=$!
|
||||
cd ..
|
||||
|
||||
# Aspetta che il backend sia pronto
|
||||
print_status "Attesa backend..."
|
||||
sleep 3
|
||||
|
||||
# Avvia frontend
|
||||
print_status "Avvio frontend..."
|
||||
cd app
|
||||
http-server -p 3000 -o &
|
||||
FRONTEND_PID=$!
|
||||
cd ..
|
||||
|
||||
print_success "🎉 Tutto avviato!"
|
||||
echo ""
|
||||
echo "📱 Frontend: http://localhost:3000"
|
||||
echo "🔧 Backend API: http://localhost:8000"
|
||||
echo "🗄️ MongoDB: localhost:27017"
|
||||
echo ""
|
||||
echo "💡 Premi Ctrl+C per fermare tutto"
|
||||
|
||||
# Funzione per cleanup
|
||||
cleanup() {
|
||||
echo ""
|
||||
print_status "Fermando servizi..."
|
||||
kill $BACKEND_PID 2>/dev/null
|
||||
kill $FRONTEND_PID 2>/dev/null
|
||||
cd backend
|
||||
docker-compose down
|
||||
cd ..
|
||||
print_success "Servizi fermati!"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Intercetta Ctrl+C
|
||||
trap cleanup SIGINT
|
||||
|
||||
# Mantieni lo script in esecuzione
|
||||
wait
|
Loading…
Add table
Add a link
Reference in a new issue