A modern order management application built with Next.js, React, TypeScript and Tailwind CSS.
This project was developed as part of a Coodesh technical challenge, with a focus on building a scalable, maintainable and well-structured front-end application using modern React ecosystem practices.
Base Orders is an order management interface designed to demonstrate the implementation of a modern front-end architecture.
The project includes features for working with orders and their related information, combining form management, schema validation, client-side state management, component-driven development and automated testing.
The application was designed with an emphasis on:
- Component reusability
- Type safety
- Form validation
- State management
- Responsive UI
- Code quality
- Automated testing
- Component documentation
- Separation of concerns
- Next.js 16
- React 19
- TypeScript 5
- Tailwind CSS 4
- Zustand β client-side state management
- React Hook Form β form management
- Zod β schema validation
- date-fns β date manipulation
- Jest
- Testing Library
- Storybook
- ESLint
- Stylelint
The project includes a local JSON Server used to provide a lightweight REST API during development.
The project follows a modular structure designed to keep application responsibilities separated:
base-orders/
βββ app/ # Next.js application routes
βββ components/ # Reusable UI components
βββ docs/
β βββ patterns/ # Documented development patterns
βββ lib/ # Shared utilities and application logic
βββ public/ # Static assets
βββ server/ # Local JSON Server API and data
βββ styles/ # Global styles
βββ test/
β βββ mocks/ # Test mocks and fixtures
βββ .storybook/ # Storybook configuration
βββ ...
The application provides an interface for managing order-related information through reusable React components and structured application flows.
Forms are implemented using React Hook Form with Zod schemas to provide type-safe validation and consistent error handling.
Zustand is used to manage client-side application state while keeping state logic independent from presentation components.
The UI is developed using reusable components and documented through Storybook, making individual components easier to develop, test and maintain.
The project includes unit and component tests using Jest and Testing Library, helping ensure that application behavior remains reliable as the codebase evolves.
The project uses ESLint and Stylelint to maintain consistent JavaScript/TypeScript and CSS code quality.
During development, the application can use the included JSON Server instance.
The API runs on:
http://localhost:3001
The local database is located at:
server/db.json
Make sure you have installed:
- Node.js
- pnpm
Clone the repository:
git clone https://github.com/atelesjr/base-orders.gitNavigate to the project:
cd base-ordersInstall dependencies:
pnpm installStart the Next.js application:
pnpm devThe application will be available at:
http://localhost:3000
In another terminal, start the local API:
pnpm serverThe JSON Server will be available at:
http://localhost:3001
Run the test suite:
pnpm testRun tests in watch mode:
pnpm test:watchRun the complete test suite in watch mode:
pnpm test:watch:allGenerate the test coverage report:
pnpm test:coverageStart Storybook:
pnpm storybookStorybook will be available at:
http://localhost:6006
To create a production Storybook build:
pnpm build-storybookRun ESLint:
pnpm lintRun Stylelint:
pnpm lint:cssCreate a production build:
pnpm buildStart the production server:
pnpm startThis project demonstrates practical experience with:
- Modern React development
- Next.js App Router
- TypeScript
- Component-driven development
- Client-side state management
- Form management and validation
- Responsive UI development
- REST API integration
- Unit and component testing
- Storybook
- Code quality tooling
- Scalable project organization
This project was developed as part of a technical challenge provided by Coodesh.
The repository is intended both as a demonstration of the implemented solution and as a practical example of modern front-end development using the React ecosystem.
Agostinho Teles Jr.
Front-End Developer specializing in React.js, Next.js, TypeScript and modern web application architecture.
- GitHub: @atelesjr
- LinkedIn: linkedin.com/in/atelesjr
β If you find this project useful, feel free to explore the code and the architecture.