- Button component: Create a reusable Button component with configurable styles and interactions.
- Input component: Develop an Input component with support for different input types and validation.
- Modal component: Implement a Modal component for displaying modals and dialogs in the UI.
- Card component: Design a Card component for displaying content in a visually appealing manner.
- Avatars: Design single avatars and avatar arrays.
- Tags: Design small tags
- List: Create a List component for rendering lists of items with various customization options.
- Dropdown: Develop a Dropdown component for displaying selectable options in a dropdown menu.
- Tabs: Implement a Tabs component for organizing content into tabbed sections.
- Tooltip: Design a Tooltip component for displaying helpful hints or additional information.
- Accordians: Design a Accordian component for organising similar information under 1 category
- Auth: Design and develop login/signup component including Google OAuth
- Navbar: Design and develop a Navbar, with logo and navlinks and a Login button.
- Footer: Desing and develop a footer
- Menubar: Desing and develop a side menubar which can be toggled open/close.
- Component documentation: Create comprehensive documentation for each component, including usage examples and API references.
- Unit testing: Write unit tests for all components to ensure correctness and prevent regressions.
- Integration testing: Perform integration tests to verify the interoperability of components.
- Accessibility testing: Conduct accessibility tests to ensure components meet WCAG guidelines.
- Code optimization: Review and optimize the codebase for performance and efficiency.
- Bundle optimization: Fine-tune webpack configuration for minimizing bundle size and improving load times.
- Performance testing: Conduct performance tests to identify and address any bottlenecks or issues.
- Publish to npm: Prepare and publish the Prism UI library to the npm registry.
- Create a website: Develop a dedicated website for Prism UI, showcasing documentation, examples, and usage guidelines.
- Community outreach: Engage with the community, encourage contributions, and gather feedback for future enhancements.