Feature Description
Create a new backend endpoint (e.g., /dashboard/export) and a corresponding "Export Data" button in the React UI that allows users to instantly download a .zip file containing all of their historically solved LeetCode problems and generated blogs.
Problem It Solves
As users continuously use LeetLog AI, they are building a massive, highly valuable portfolio of coding solutions and explanations stored in MongoDB and scattered across Dev.to/Hashnode. If a user ever wants a local offline backup of their hard work, or wants to migrate their markdown blogs to their own personal portfolio website (like a Gatsby or Next.js blog), they currently have no way to export their data short of manually copying and pasting hundreds of posts one by one.
Proposed Solution
Build a FastAPI endpoint that aggregates the user's successful records from the problem_info database. Use Python's built-in zipfile and io.BytesIO libraries to dynamically generate a clean .zip archive in memory. Inside the zip, each problem should be its own perfectly formatted Markdown (.md) file containing the title, date, the raw code, and the generated blog content. Stream this buffer directly back to the React frontend as a downloadable file.
Additional Context
Data portability is an incredible feature for developer tools. Giving users the peace of mind that they actually "own" and can export their LeetCode journey will increase trust and user retention!
Feature Description
Create a new backend endpoint (e.g., /dashboard/export) and a corresponding "Export Data" button in the React UI that allows users to instantly download a .zip file containing all of their historically solved LeetCode problems and generated blogs.
Problem It Solves
As users continuously use LeetLog AI, they are building a massive, highly valuable portfolio of coding solutions and explanations stored in MongoDB and scattered across Dev.to/Hashnode. If a user ever wants a local offline backup of their hard work, or wants to migrate their markdown blogs to their own personal portfolio website (like a Gatsby or Next.js blog), they currently have no way to export their data short of manually copying and pasting hundreds of posts one by one.
Proposed Solution
Build a FastAPI endpoint that aggregates the user's successful records from the problem_info database. Use Python's built-in zipfile and io.BytesIO libraries to dynamically generate a clean .zip archive in memory. Inside the zip, each problem should be its own perfectly formatted Markdown (.md) file containing the title, date, the raw code, and the generated blog content. Stream this buffer directly back to the React frontend as a downloadable file.
Additional Context
Data portability is an incredible feature for developer tools. Giving users the peace of mind that they actually "own" and can export their LeetCode journey will increase trust and user retention!