This project is a comprehensive implementation of the DotAAS Part 2 HTTP/REST Submodel Service Specification, which is part of the Specification of the Asset Administration Shell (AAS). It provides a set of APIs for managing Concept Descriptions, including operations to get, post, delete, and update Concept Descriptions. The project also includes a self-describing endpoint that returns the service's capabilities and profiles. The implementation follows the guidelines and standards set by the Industrial Digital Twin Association (IDTA) to ensure interoperability and consistency across different systems.
- CRUD Operations: The service provides APIs to create, read, update, and delete Concept Descriptions.
- Self-Describing Endpoint: There is an endpoint that returns the service's capabilities and profiles.
- Interoperability: The implementation follows guidelines from the Industrial Digital Twin Association (IDTA) to ensure consistency and interoperability across different systems.
- Endpoint:
/concept-descriptions
- Method:
GET
- Description: Retrieves all Concept Descriptions.
- Endpoint:
/concept-descriptions
- Method:
POST
- Description: Creates a new Concept Description.
- Endpoint:
/concept-descriptions/{id}
- Method:
DELETE
- Description: Deletes a Concept Description by its ID.
- Endpoint:
/concept-descriptions/{id}
- Method:
GET
- Description: Retrieves a Concept Description by its ID.
- Endpoint:
/concept-descriptions/{id}
- Method:
PUT
- Description: Updates a Concept Description by its ID.
- Endpoint:
/description
- Method:
GET
- Description: Provides a description of the service and its capabilities.
Here is an example of the GetDescription
function that provides a detailed description of the project's purpose and capabilities:
func (repo *ConceptDescriptionRepo) GetDescription(c *fiber.Ctx) error {
description := "This project is a comprehensive implementation of the DotAAS Part 2 HTTP/REST Submodel Service Specification, which is part of the Specification of the Asset Administration Shell. It provides a set of APIs for managing Concept Descriptions, including operations to get, post, delete, and update Concept Descriptions. The project also includes a self-describing endpoint that returns the service's capabilities and profiles. The implementation follows the guidelines and standards set by the Industrial Digital Twin Association (IDTA) to ensure interoperability and consistency across different systems."
return c.Status(http.StatusOK).SendString(description)
}
To get started with this project, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/yourrepository.git
-
Install dependencies:
go mod tidy
-
Run the service:
go run main.go
Contributions are welcome! Please open an issue or submit a pull request for any changes.
This project is licensed under the MIT License.