A blog demo site: https://macdonaldrobinson.github.io/react-blog-demo/
- Chat Application with live updates
- CMS ( Content Management System ) Application with history
- React Router Dom
- Lazy Loading of Pages using React.Lazy and Suspense
- Using React.memo
- Using Callbacks
- Using React Context
- Using React Context Provider
- Custom Hook to load blog posts from an API
- Using Styled Component
- Using React Query
- Using Axios
- Using Firebase ( Firestore, Auth, Messaging )
- Notifications
- Using CSS Animations ( transitions and keyframes )
- Using CSS Scroll snap
- Using vitest, jsdom, testing library, msw ( Mock Service Worker )
- Using playwright for e2e ( end to end ) testing
- Filter Blog Posts and highlight the filterText in the blog content, as it filters the list, it highligts the words
- Dynamicly changing the base path based on the environment ( VITE_ environment variables from .env file based on environment)
- Using github workflow to deploy to run tests before build and deploying to github pages
- The workdflow caches the playwright browsers so the subsequent builds are substantially quicker