Persist UI configuration¶
Classification¶
- Difficulty: Medium
- Skills needed: Python, SQL, JavaScript
- Skills that could be helpful: Django, SQLAlchemy, Svelte, TypeScript
- Length: Medium (~175 hours)
The Problem¶
- Mathesar currently does not persist certain user-defined configurations, such as:
- Column widths in tables and explorations
- Open/closed state of the Table Inspector and Exploration Inspector
- Sidebar widths
- The objectives of this project are to:
- Identify any other non-persisted user configurations
- Store the aforementioned information in the backend
Tasks¶
- Come up with a specification document containing the database schema, backend work, and API request/response structure necessary to persist the data mentioned in “The Problem” section.
- Work with the Mathesar backend and frontend teams to finalize the specifications.
- Implement the necessary backend work.
- Implement the frontend work to send API requests when user modifies any of these configurations.
Expected Outcome¶
- Users’ changes to the UI should be persisted as described in “The Problem” section.
Application Tips¶
- Show proficiency in the required skills.
- Provide a preliminary approach to solving the challenge, including the database schema and API specifications.
- Demonstrate a good understanding of the Mathesar codebase.
Mentors¶
Primary Mentor: Dominykas Secondary Mentor(s): Pavish Kumar Ramani Gopal