Files
myTradeTracker/start.sh
Chris eea4469095 Initial release v1.1.0
- Complete MVP for tracking Fidelity brokerage account performance
- Transaction import from CSV with deduplication
- Automatic FIFO position tracking with options support
- Real-time P&L calculations with market data caching
- Dashboard with timeframe filtering (30/90/180 days, 1 year, YTD, all time)
- Docker-based deployment with PostgreSQL backend
- React/TypeScript frontend with TailwindCSS
- FastAPI backend with SQLAlchemy ORM

Features:
- Multi-account support
- Import via CSV upload or filesystem
- Open and closed position tracking
- Balance history charting
- Performance analytics and metrics
- Top trades analysis
- Responsive UI design

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-22 14:27:43 -05:00

92 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# myFidelityTracker Start Script
echo "🚀 Starting myFidelityTracker..."
echo ""
# Check if Docker is running
if ! docker info > /dev/null 2>&1; then
echo "❌ Docker is not running. Please start Docker Desktop and try again."
exit 1
fi
# Check if .env exists, if not copy from example
if [ ! -f .env ]; then
echo "📝 Creating .env file from .env.example..."
cp .env.example .env
fi
# Create imports directory if it doesn't exist
mkdir -p imports
# Copy sample CSV if it exists in the root
if [ -f "History_for_Account_X38661988.csv" ] && [ ! -f "imports/History_for_Account_X38661988.csv" ]; then
echo "📋 Copying sample CSV to imports directory..."
cp History_for_Account_X38661988.csv imports/
fi
# Start services
echo "🐳 Starting Docker containers..."
docker-compose up -d
# Wait for services to be healthy
echo ""
echo "⏳ Waiting for services to be ready..."
sleep 5
# Check if backend is up
echo "🔍 Checking backend health..."
for i in {1..30}; do
if curl -s http://localhost:8000/health > /dev/null 2>&1; then
echo "✅ Backend is ready!"
break
fi
if [ $i -eq 30 ]; then
echo "⚠️ Backend is taking longer than expected to start"
echo " Check logs with: docker-compose logs backend"
fi
sleep 2
done
# Check if frontend is up
echo "🔍 Checking frontend..."
for i in {1..20}; do
if curl -s http://localhost:3000 > /dev/null 2>&1; then
echo "✅ Frontend is ready!"
break
fi
if [ $i -eq 20 ]; then
echo "⚠️ Frontend is taking longer than expected to start"
echo " Check logs with: docker-compose logs frontend"
fi
sleep 2
done
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✨ myFidelityTracker is running!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🌐 Frontend: http://localhost:3000"
echo "🔌 Backend: http://localhost:8000"
echo "📚 API Docs: http://localhost:8000/docs"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📖 Quick Start Guide:"
echo " 1. Open http://localhost:3000 in your browser"
echo " 2. Go to the 'Accounts' tab to create your first account"
echo " 3. Go to the 'Import' tab to upload a Fidelity CSV file"
echo " 4. View your dashboard with performance metrics"
echo ""
echo "🌱 To seed demo data (optional):"
echo " docker-compose exec backend python seed_demo_data.py"
echo ""
echo "📊 To view logs:"
echo " docker-compose logs -f"
echo ""
echo "🛑 To stop:"
echo " ./stop.sh or docker-compose down"
echo ""