This modern web app provides you with an interactive trend radar. It is used to visualise and manage potential threats and opportunities across Political, Economic, Social and Technological dimensions. These strategic points are displayed in a concentric circle diagram.
- The outer ring represents trends with the lowest likelihood of occurrence, whereas the inner rings represent trends with increasing likelihood.
- The size of a point represents its potential impact, with larger points indicating a higher impact.
- The colour of a point indicates the preparedness level, ranging from red (low preparedness) to green (high preparedness).
The app was built with Next.js, React, and TypeScript, featuring a responsive design with TailwindCSS.
- Interactive ring diagram (concentric circles) visualization
- Dynamic control panel for trend management
- Real-time trend table updates
- Responsive design that works on both desktop and mobile
- Light and Dark mode support (based on system preference)
- Framework: Next.js (React)
- Language: TypeScript
- Styling: TailwindCSS
- State Management: Zustand
- Testing: Jest with React Testing Library
- Code Quality: ESLint
- Click the "Code" button on the repository
- Select "Create codespace on main"
- Wait for the codespace to initialize
- Once the codespace is ready, it will automatically install dependencies using
npm install. - Start the development server with
npm run dev
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run test- Run testsnpm run lint- Run ESLint
The project uses Jest and React Testing Library for testing. Tests are located in __tests__ directories next to the components they test. To run tests:
npm run test # Run testsTest coverage reports are generated in the coverage directory.
/src/components- React components/src/store- State management (Zustand)/src/types- TypeScript types and interfaces/src/constants- Application constants/..directory/__tests__- Test files for a given directory.
This project is configured for static exports via Next.js. To deploy:
- Build the project:
npm run build
- The static output will be in the
outdirectory - Deploy the contents of
outto any static hosting service
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing code style.