# My Bank App - Financial Transaction Manager A web application for managing financial transactions across multiple bank accounts. ## Project Overview * **Purpose:** Provides a user interface for CRUD operations on financial transactions. * **Technology:** Built with Astro, TypeScript, and plain CSS, utilizing Astro API routes. * **Layout:** Features a two-column dashboard design with a sidebar for account selection/actions and a main area for transaction display. * **Data Management:** Currently uses an in-memory data store (`src/data/store.ts`) accessed via API endpoints (`src/pages/api/`). * **Key Features (Implemented & Planned):** Account switching, transaction listing, adding, editing, and deleting transactions. ## Logs This app is currently deployed using Cloudflare Pages. The logs can be viewed with the `npx wrangler pages deployment tail --project-name finance` command. ## Development Environment Setup ### Prerequisites - VS Code with Remote Containers extension - Docker and Docker Compose - Git ### Initial Setup 1. Clone the repository 2. Copy `.devcontainer/.env.example` to `.devcontainer/.env` 3. Update the environment variables in `.devcontainer/.env` 4. Open the project in VS Code and select "Reopen in Container" when prompted ### GitHub MCP Server The project uses GitHub's MCP server for development tasks. The server runs in a Docker container and is automatically configured when you open the project in a devcontainer. #### Configuration - The MCP server uses GitHub authentication via Personal Access Token - Token is stored securely in `.devcontainer/.env` (not committed to repository) - GitHub CLI is installed in the devcontainer for easier authentication management - Container health monitoring is configured #### Usage The MCP server will automatically start when you open the project in a devcontainer. If you need to manually authenticate: 1. Run `gh auth login` in the terminal 2. Follow the prompts to authenticate with your GitHub account ### Database Setup