DASH is a full-stack web application for interactive chat and data visualization. It consists of a Next.js/React frontend and a Python backend API. Below is a technical overview of the architecture, features, and setup instructions.
DASH/
├── backend/ # Python FastAPI backend
│ ├── api.py # Main API endpoints
│ ├── main.py # App entry point
│ ├── lambda_function.py # AWS Lambda handler
│ ├── tools.py # Utility functions
│ ├── requirements.txt # Python dependencies
│ └── Dockerfile # Containerization
├── frontend/ # Next.js React frontend
│ ├── app/ # Application pages and API routes
│ ├── components/ # UI components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Client-side utilities
│ ├── public/ # Static assets
│ ├── styles/ # Global styles
│ ├── package.json # Frontend dependencies
│ └── tailwind.config.ts # Tailwind CSS config
├── LICENSE
└── README.md
- Framework: Next.js (React, TypeScript)
- Styling: Tailwind CSS, PostCSS
- Features:
- Modular UI components for chat, sidebar, dialogs, and theme management
- API routes for chat functionality
- Utility libraries for chat storage and date formatting
- Responsive design and modern UI/UX
app/: Main application pages and API endpointscomponents/: Reusable UI components (chat, sidebar, dialogs, etc.)hooks/: Custom React hookslib/: Client-side utilitiespublic/: Static assetsstyles/: Global CSS
- Language: Python 3.13+
- Framework: FastAPI (or compatible API framework)
- Features:
- RESTful API endpoints for chat and data operations
- AWS Lambda handler for serverless deployment
- Utility functions for backend logic
- Dockerfile for containerization
api.py: Defines API endpointsmain.py: Application entry pointlambda_function.py: AWS Lambda handlertools.py: Utility functionsrequirements.txt: Python dependenciesDockerfile: Container setup
- Node.js (v18+ recommended)
- Python 3.13+
- pnpm (for frontend package management)
- Docker (optional, for backend containerization)
- Navigate to the
frontenddirectory:cd frontend
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
- Navigate to the
backenddirectory:cd backend
- (Optional) Create a virtual environment:
python -m venv venv .\venv\Scripts\Activate - Install dependencies:
pip install -r requirements.txt - Run the backend server:
python main.py
- (Optional) Build and run with Docker:
docker build -t dash-backend . docker run -p 8000:8000 dash-backend
- Frontend: Hot-reloading with Next.js, modular component structure, TypeScript for type safety.
- Backend: FastAPI for rapid API development, Docker for containerization, AWS Lambda compatibility for serverless deployment.
- Frontend: Deployable to Vercel, Netlify, or any platform supporting Next.js.
- Backend: Deployable to AWS Lambda, Docker containers, or traditional servers.
This project is licensed under the terms of the LICENSE file in the root directory.
For questions or contributions, please open an issue or pull request.