◦ Set up a new TypeScript project using Sveltekit + Prisma + Superforms ◦ Create the necessary project structure.
◦ Create a TypeScript class or interface representing a "Cost" with properties for category, amount, date, and file.
◦ Implement the routes for: ▪ Submitting a new cost. ▪ Uploading a file related to a cost. ▪ Retrieving a list of costs with optional filters for category, amount, and date.
◦ Provide clear and concise documentation for setting up and running the project. ◦ Include API documentation for the implemented endpoints.
• Implement user authentication (Django: Django Authentication, TypeScript: Auth.js).
• Code structure and organization.
• Proper usage of TypeScript best practices.
• Error handling and validation.
• Clarity and readability of the code.
• Efficiency of the implemented features.
• Proper usage of version control (e.g., Git).