- creation area
- show pop-up with zone selection
- save or cancel the created area
- deleting area
- editing area
- entering longitude and latitude
- output of found areas
- creation grid
- displaying a popup with the title input, the number of columns and the number of lines
- save or cancel the created grid
- deleting grid
- entering longitude and latitude
- output of found grid cell
- create area
- update area
- delete area
- get area list
- get zone list
- search area by coordinates
- create grid
- delete grid
- search grid cell by coordinates
- React
- Leaflet
- Turf
- Axios
- Leaflet geoman
- Express
- MySQL
├── src/ # Client
| ├── api/ # Services for API interactions
| ├── components/ # React components
| ├── map-controls/ # Leaflet controls
| ├── pages/ # Pages
| ├── utils/ # Utils
| ├── App.js # Main component
| ├── index.js # Enter component
| └── index.scss # Styles css
└── server/ # Server
├── components/ # App components
| ├── area/
| ├── zone/
| └── grid/
├── config/ # App config
├── middlewares/ # App middlewares
├── routes/ # App routes
└── db.js # Database connection
- Rename the file .env.example to .env and enter all the necessary variables in it, the list below
- Install all dependencies
npm i
Npm scripts:
npm run dev
- Run project in development mode
npm run production
- Run project in production mode
npm run build
- Build project
name | type | required | default | description |
---|---|---|---|---|
SERVER_PORT | Number | false | 5000 | |
REACT_APP_MAPBOX_TOKEN | String | true | Mapbox token, required for map tiles (https://docs.mapbox.com/help/how-mapbox-works/access-tokens/) | |
DB_HOST | String | true | Database host | |
DB_USER | String | true | Database user | |
DB_PASSWORD | String | true | Database password | |
DB_NAME | String | true | Database name | |
DB_PORT | Number | false | 3306 | Database port |