A modern web application for market conflict detection and analysis, built with React frontend and FastAPI backend.
- Vite
- TypeScript
- React
- shadcn/ui
- Tailwind CSS
- FastAPI
- Python
- Node.js & npm - Install with nvm
- Python 3.7+ - Download from python.org
git clone <repository-url>
cd market-shieldpython3 -m venv myenvOn macOS/Linux:
source myenv/bin/activateOn Windows:
myenv\Scripts\activateCopy the example environment file and add your API keys:
cp .env-example .envThen edit the .env file and add your API keys:
CLAUDE_API=your_claude_api_key_here
GRONQ_API=your_groq_api_key_here
LETTA_API=your_letta_api_key_here
pip3 install -r requirements.txtNavigate to the frontend directory and install dependencies:
cd app/frontend
npm installFrom the root directory, with your virtual environment activated:
fastapi dev app/backend/main.pyAlternatively, you can use uvicorn directly:
uvicorn app.backend.main:app --reloadThe FastAPI backend will be available at:
- API:
http://localhost:8000 - API Documentation (Swagger UI):
http://localhost:8000/docs - Alternative API Documentation (ReDoc):
http://localhost:8000/redoc
In a new terminal, navigate to the frontend directory and start the development server:
cd app/frontend
npm run devThe React frontend will be available at http://localhost:5173 by default.
Make sure to keep your virtual environment activated while developing:
source myenv/bin/activate # On macOS/Linux
# or
myenv\Scripts\activate # On WindowsTo deactivate the virtual environment when you're done:
deactivateAvailable scripts in the frontend directory:
npm run dev- Start development servernpm run build- Build for productionnpm run build:dev- Build for developmentnpm run lint- Run ESLintnpm run preview- Preview production build
market-shield/
├── app/
│ ├── backend/ # FastAPI backend
│ │ └── main.py
│ ├── frontend/ # React frontend
│ │ ├── src/
│ │ ├── public/
│ │ └── package.json
│ ├── data/ # Data files
│ └── models/ # ML models
├── myenv/ # Python virtual environment
├── requirements.txt # Python dependencies
└── README.md