A backend API for managing and executing tasks as shell commands. Built with Spring Boot and MongoDB, the API supports creating, updating, executing, and deleting tasks, while also tracking execution logs.
-
Create and update tasks with fields:
id
name
owner
command
-
Track multiple executions per task with:
- Start time
- End time
- Output logs
-
RESTful API endpoints to interact with tasks
-
Validation for safe shell command execution
-
MongoDB used as a persistent datastore
-
Spring Boot backend for easy integration and deployment
- Java 17 or higher
- MongoDB server installed and running
- Maven or Gradle build tool
- Git installed
- VS Code or preferred IDE
git clone https://github.com/your-username/task-management-api.git
cd task-management-api
Using Maven:
./mvnw spring-boot:run
Or using Gradle:
./gradlew bootRun
Example endpoints (to be expanded):
POST /tasks
→ Create a new taskGET /tasks/{id}
→ Get task detailsPUT /tasks/{id}
→ Update taskDELETE /tasks/{id}
→ Delete taskPOST /tasks/{id}/execute
→ Execute task and store logs
- Tasks stored in MongoDB collection
- Execution logs stored as embedded documents within tasks