A test assignment — a web app for browsing Star Wars characters powered by SWAPI.
Demo: sw-wiki-2.vercel.app
- Next.js 13 — SSR, file-based routing, API routes
- TypeScript
- Redux Toolkit + RTK Query — state management and data fetching
- next-redux-wrapper — Redux integration with SSR
- React Hook Form — character edit form
- React Bootstrap / Bootstrap 5 — UI
- Jest + React Testing Library — tests
- Character list with pagination
- Character detail page
- Inline character editing with optimistic updates
- Per-character comments (stored in server memory)
- Server-side rendering with Redux store pre-population
- Server-side caching of external API responses
npm install
npm run devOpen http://localhost:3000 in your browser.
Create a .env.local file in the project root:
EXTERNAL_API_URL=https://swapi.dev/api
NEXT_PUBLIC_LOCAL_API_URL=http://localhost:3000/api
npm test