Refactor my FastAPI application to follow professional project structure. Move the Pydantic schemas into a schemas.py file, extract the CRUD operations into a crud.py file, and organize the API routes into a routers.py file. Update main.py to import and properly configure these new modules. Additionally, improve the TypeScript organization in my React frontend by creating proper type definitions in a types.ts file and organizing components into a better folder structure. Ensure all functionality remains exactly the same after the refactoring


git commit -m "Initial commit: Complete CRUD application with FastAPI backend and React frontend"


Analyze the entire codebase and create a comprehensive README.md file. Include a clear project description based on the actual functionality, installation instructions for both backend and frontend that match the dependency files, usage examples that reflect the API endpoints, development setup guide, and contribution guidelines. Explain the project's purpose and highlight key features based on the actual implementation

Add a comprehensive Python docstring to this function following Google style conventions. Include parameter descriptions, return value documentation, and a brief usage example.

Add comprehensive JSDoc comments to this TypeScript function. Include parameter types, return type documentation, and usage examples with proper TypeScript annotations.


Always use TypeScript with strict type checking enabled for all frontend code.
Use functional components with React Hooks exclusively - never use class components.
For all API endpoints, include comprehensive JSDoc comments with parameter and return type documentation.
Follow REST conventions for all endpoint naming and HTTP method usage.
Include proper error handling with try-catch blocks for all database operations.
Use async/await syntax instead of .then() chains for all asynchronous operations.
Create TypeScript interfaces for all component props and API response types.
Apply consistent naming: camelCase for variables and functions, PascalCase for components and types.
Include input validation at the API boundary for all user-submitted data.
Use meaningful commit messages that explain the why, not just the what.