Backend service for the IntelliSafe Industrial Incident & Safety Reporting System built with Spring Boot.
The IntelliSafe backend provides RESTful APIs for managing:
- Incident reporting
- Incident tracking
- User authentication
- Employee and admin operations
- Safety investigation workflows
- Incident status management
The system is designed for industrial safety environments where employees can report incidents and administrators can manage and resolve them.
- Java
- Spring Boot
- Spring Web
- Spring Data JPA
- H2 Database
- Maven
- REST APIs
- Employee incident reporting
- Admin incident management
- CRUD operations
- RESTful API architecture
- In-memory database (H2)
- Layered backend structure
- Exception handling
- API testing support
Make sure you have installed:
- Java JDK 17+
- Maven
- IntelliJ IDEA or Visual Studio Code
git clone
cd intellisafe-backend
This project uses H2 in-memory database, so no external database setup is required.
Default configuration in application.properties:
spring.datasource.url=jdbc:h2:mem:intellisafe spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.h2.console.enabled=true spring.jpa.hibernate.ddl-auto=update
Using Maven:
mvn spring-boot:run
Or run the main Spring Boot application class from your IDE.
You can access the database console at:
http://localhost:8080/h2-console
JDBC URL: jdbc:h2:mem:intellisafe
Username: sa
Password: (leave empty)
You can test the APIs using:
- Postman
- Insomnia
Example endpoint:
GET /api/incidents
GET /api/incidents - Retrieve all incidents GET /api/incidents/{id} - Retrieve incident by ID POST /api/incidents - Create a new incident PUT /api/incidents/{id} - Update incident DELETE /api/incidents/{id} - Delete incident
- JWT Authentication
- Role-based access control
- File upload support
- Email notifications
- Audit logging
- Docker deployment
Siyabonga Zindela.