A React web application that surfaces Wikipedia's On this day events using the Wikimedia Feed API. Built with React 19, TypeScript, Vite, Redux, and Mantine UI.
Live Demo: https://wikimedia.artemislab.net
- Node.js >= 20.0.0
- npm
npm installNote: .npmrc ensures exact versions are installed for deterministic builds.
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Clean build artifacts
npm run cleanThe development server runs on http://localhost:5173 by default.
# Run all tests
npm run test
# Run components tests only
npm run test:components
# Run unit tests only
npm run test:unit
# Run with coverage
npm run test:coverage
# Run full CI checks
npm run ci# Lint code
npm run lint
# Auto-fix linting issues
npm run lint:fix
# Format code
npm run format
# Check code formatting
npm run format:checkEnforced via ESLint (eslint-plugin-simple-import-sort). Run npm run lint:fix to auto-sort.
Enforced via ESLint (react/jsx-sort-props):
- Reserved props (key, ref) first
- Regular props alphabetically
- Callbacks/event handlers last
Formats code with:
- 80 character line width
- Semicolons enabled
- Double quotes
- 2 space indentation
- Trailing commas (all)
- Arrow function parentheses (always)
- LF line endings (Unix-style)
- Tailwind class sorting via
prettier-plugin-tailwindcss
Project uses TypeScript project references:
tsconfig.app.json- Application code configtsconfig.node.json- Build tooling configtsconfig.json- Root config referencing both
MIT