Europe/Kyiv
Projects

DoIT MVP - Frontend Assignment

May 1, 2025
Feel free to view the live demo or check the GitHub repository for source code. This project is a frontend test assignment for the DoIT MVP. It demonstrates the implementation of full CRUD operations on a posts resource using modern frontend technologies and tools.
  1. CRUD Functionality
    • Complete Create, Read, Update, Delete operations using Redux Toolkit and async thunks.
  2. UI & Theming
    • Material UI components used throughout.
    • Light/Dark theme toggle in the AppBar.
  3. Navigation
    • App Router with a persistent AppBar and a Drawer for navigation.
    • Navigation links to Home, All Posts, and Create Post.
  4. Clean Architecture
    • Modular file and folder structure.
    • Clear separation of concerns and reusable components.
  5. Documentation
    • README.md includes setup instructions and future improvement suggestions.
  • Hero section with main heading and subheading.
  • Two main buttons:
    • "View Posts" → /posts
    • "Create Post" → /posts/create
  • AppBar: blue (#2196f3) with Menu, title, and theme switcher.
  • Drawer with links to all major pages.
  • AppBar + Drawer
  • Search posts by title (TextField with search icon).
  • Skeleton loaders while fetching data.
  • Grid view with Material UI Cards:
    • Header with Avatar, title, subheader, delete action.
    • Body snippet in CardContent.
    • Link to full post in CardActions.
  • Floating SpeedDial for quick navigation to Create Post.
  • Loading state (CircularProgress), then detailed Card view:
    • Header, full body, actions for Delete and Back to List.
  • Comment dialog triggered by Comment icon in AppBar with Badge.
  • Stepper flow: Title → Body → Preview.
  • Forms with icons for each step.
  • Dialog preview before final submission.
  • Snackbar for success notification.
  • GitHub repository with public access.
  • README.md includes:
    1. Installation & startup steps
    2. Folder structure overview
    3. Recommendations:
      • Unit tests
      • Use of RTK Query
      • Mobile responsiveness
      • UX improvements (e.g., loaders, error handling)
  1. Compliance with technical specs and visual accuracy.
  2. Clean, readable code following DRY principles.
  3. Logical project structure with organized folders for store, services, components, and pages.