This is a full-stack web application for managing customer data, consisting of a Next.js frontend and a Rust backend API.
The frontend is built with Next.js and provides a modern, responsive user interface for managing customer records.
- Customer list view with pagination
- Search customers by company name
- Sort customers by different fields
- Add new customers
- Edit existing customers
- Delete customers
- Responsive design
- Built with Next.js and React
- Material-UI components for consistent styling
- Axios for API communication
- Form validation and error handling
- State management with React hooks
- TypeScript for type safety
The backend is a RESTful API built with Rust and the Rocket framework that provides customer management functionality. It connects to a SQLite database (Northwind) and implements CRUD operations.
- Get all customers with pagination, filtering and sorting
- Get a single customer by ID
- Create new customers
- Update existing customers
- Delete customers
- CORS enabled for cross-origin requests
- Built with Rust and Rocket web framework
- SQLite database with rusqlite for data persistence
- JSON serialization/deserialization with serde
- Thread-safe database access with Mutex
- Error handling and input validation
- Make sure you have Rust and Cargo installed
- Navigate to the
backdirectory - Place the Northwind SQLite database file in the project root
- Run
cargo runto start the server - API will be available at
http://localhost:8001
- Make sure you have Node.js installed
- Navigate to the
frontdirectory - Install dependencies with
npm install - For development, copy
.env.exampleto.env - Run
npm run devto start the development server - Access the application at
http://localhost:3000