Skip to content

Cat Lover#45

Open
mkourogiorgas wants to merge 17 commits into
GlobalWebIndex:mainfrom
mkourogiorgas:feature/cat-lover
Open

Cat Lover#45
mkourogiorgas wants to merge 17 commits into
GlobalWebIndex:mainfrom
mkourogiorgas:feature/cat-lover

Conversation

@mkourogiorgas
Copy link
Copy Markdown

Cat Lover – React Challenge Submission

Hi everyone,
This PR contains my completed solution for the React Challenge.
The project includes:

  • Full implementation of all challenge requirements
  • Shareable modal URLs
  • Breed catalogue and breed modals
  • Favorites management

I’ve also added a few enhancements such as analytics tracking and smart caching.

- Added Vite for fast React development.
- Installed main dependencies:
- Installed dev dependencies:
- Added favicon and image assets.
- Fixed dev dependency files and configuration.
- Import and test all API calls (fetchRandomCats, fetchAllBreeds, fetchCatImageById, fetchImagesByBreed)
- Configure env variables
- Add axios interceptor
- Set up routing with React Router for gallery, breeds, and favourites
- Add modal and breed modal routes for nested navigation
- Implement domain-based slices for gallery, favourites, and breeds
…or components

- Implement Gallery view with lazy loading and Redux integration
- Add modular Card component
- Add reusable ErrorMessage and LoadingSpinner components
- minor redux store fixes
- Updated import order rules in eslint.config.js for consistent imports
- Extracted shared view layout styles to viewsLayout.module.css and updated all views
- Removed console.log statements from Redux slices
- Refactored custom hooks for clarity and best practices
- Add Modal and BreedModal with custom hooks for state management
- Separate UI into subcomponents
- Centralize constants and utility functions for maintainability
- Handle loading, error, and empty states
- Added analytics dashboard view
- Implemented localStorage persistence for analytics, breeds, and favourites
- Integrated multiple charts in analytics to showcase user behavior
…tics, breeds, favourites) and some utility functions (breeds, analytics)
- Fix navigation bug
- Modify CSS for improved layout and appearance
- Update favicon
- fix import order by running eslint fix
- Added vercel.json for proper SPA routing
- Ensured production build works for all client-side routes
- Fixed deployment issues on Vercel
Updated the README to include images and live demo link.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant