This application helps manage field engineers and service requests for branches.
- Install dependencies:
npm install- Create a
.envfile with the following content:
MAP_BOX_TOKEN=your_mapbox_token
VITE_API_URL=https://localhost:7126/api
- Open a terminal and navigate to the API folder:
cd ../EcsFeMappingApi- Start the API:
dotnet runThe API will start at https://localhost:7126.
- Open a new terminal and navigate to the frontend folder:
cd ../ecs_fe_map\ app- Start the development server:
npm run devThe frontend will start at http://localhost:5173.
- Map-based visualization of field engineers and branches
- Service request management
- Real-time updates of field engineer locations
- Route visualization
- Branch management
- Frontend: React, TypeScript, Vite, Mapbox GL
- Backend: .NET Core 9, Entity Framework Core, MySQL
- UI: TailwindCSS, DaisyUI
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Remove tseslint.configs.recommended and replace with this
...tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
...tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
...tseslint.configs.stylisticTypeChecked,
// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'
export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])