This project is a simple web application designed to collect and manage information about surplus soil consignments. The form allows users to:
- Provide site information, including address and history.
- Draw and upload a plan of proposed works using Excalidraw.
- Describe multiple consignments, including material description, expected delivery details, and sampling information.
- Add and manage analytical data for various contaminants.
- Attach relevant documents and images.
- Compose and preview an email with the form data and attachments before sending.
- Dynamic Consignment Management: Add or remove consignments dynamically.
- Excalidraw Integration: Draw and export plans directly within the form.
- Email Functionality: Compose, preview, and send emails with form data and attachments.
- File Upload: Drag and drop file upload for additional documents and images.
- React: For building the user interface.
- Next.js: For server-side rendering and API routes.
- Tailwind CSS: For styling the components.
- Excalidraw: For drawing and exporting plans.
- React Dropzone: For file upload functionality.
- TypeScript: For type safety and better developer experience.
- Node.js (v14 or later)
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/surplus-soil-information-sheet.git cd surplus-soil-information-sheet
-
Install dependencies:
npm install # or yarn install
-
Run the development server:
npm run dev # or yarn dev
Open http://localhost:3000 with your browser to see the result.
- Push your code to a GitHub, GitLab, or Bitbucket repository.
- Sign up for a Vercel account if you don't have one.
- Import your project from your Git repository.
- Follow the prompts to deploy your application.
- Push your code to a GitHub, GitLab, or Bitbucket repository.
- Sign up for a Netlify account if you don't have one.
- Create a new site from Git and select your repository.
- Follow the prompts to deploy your application.
-
Build the Docker image:
docker build -t surplus-soil-information-sheet .
-
Run the Docker container:
docker run -p 3000:3000 surplus-soil-information-sheet
Open http://localhost:3000 with your browser to see the result.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License.