This is a fun little experiment to test the waters with Redux Toolkit.
It also features:
- Data fetching from jsonplaceholder with RTK Query.
- A node.js api built with Next.js api-routes which connects to a cloud-hosted MongoDB Atlas database.
- Secure authentication which;
- ... has countermeasures for CSRF, XSS, NoSQL injection attacks.
- ... persists the JWT token used for authenticating users in secure http-only cookies
From the root, follow these steps:
- Run
yarnto install dependencies - Run
yarn devto start the local development server
/components- contains all the UI components./db- contains mongodb (database) models and logic/redux- state management/api- requests to the api for communicating with mongodb and jsonplaceholder/slices- slices of state for different features
/pages- the app entrypoint is in_app, and the landingpage isindex.jsx./api- the API lives here, it features custom built authentication.
/theme- contains the design tokens and other theme data./utils- a collection of hooks and other helpers.
- React
- Next.js
- Redux + Redux Toolkit for state management and data fetching
- MongoDB Atlas database
- Stitches for theming and component composition
- Framer Motion for the animations
- Testing
- Refactor to TypeScript
- Implement Storybook (or similar)
- Implement Auth0