Sculptor is an open source productivity tool that applies the concepts from Domain-Driven Design and Domain Specific Languages.
You express your design intent in a textual specification (within an Eclipse editor), from which Sculptor generates (with a Maven plugin) high quality Java code and configuration. You can use the concepts from Domain-Driven Design (DDD) in the textual Domain Specific Language (DSL). E.g. Service, Module, Entity, Value Object, Repository.
The generated code is based on well-known frameworks, such as JPA, Hibernate, Spring Framework or Java EE. Sculptor takes care of the technical details, the tedious repetitive work, and let you focus on delivering more business value - and have more fun.
To use Sculptor you need local installations of the following tools:
- Java JDK (1.8)
- Maven (3.5.0 or newer)
- Eclipse (4.7 or newer) with Xtext (2.15.0 or newer)
- (optional) GraphViz (2.2.8 or newer)
The installation and configuration of these tools is described in Sculptors installation guide.
Sculptor consists of an Eclipse plugin (the DSL editor) and a Maven plugin (the code generator) with its Maven archetypes:
- Sculptors Eclipse plugin has to be installed with the Eclipse Update Manager
Help > Install New Software...
from http://sculptorgenerator.org/updates/ - Sculptors Maven plugin and its Maven archetypes are retrieved by Maven from one of the following Maven repositories
- Releases: Maven Central
- Development Snapshots: https://oss.sonatype.org/content/repositories/snapshots/
The installation and configuration of these tools is described in Sculptors installation guide.
To start with a hands-on example on using Sculptor use the Hello Word Tutorial. There're other tutorials to continue with, e.g. the DDD Sample, the Archetype Tutorial or the Advanced Tutorial.
You can learn more about the capabilities of Sculptor by reading the blog posts, e.g. Improving Developer Productivity with Sculptor.
Here are some ways for you to contribute:
- Get involved with the community on the Sculptor forum. Please help out on the forum by responding to questions and joining the debate.
- Create GitHub tickets for bugs or new features and comment on the ones that you are interested in.
- GitHub is for social coding: if you want to write code, we encourage contributions through pull requests from forks of this repository. If you want to contribute code this way, please reference a GitHub ticket as well covering the specific issue you are addressing. See Sculptors documentation for details on how to set up the development environment and build the project.
- If you want to help us with documentation and tutorials, we encourage contributions through pull requests from forks of the corresponding repository https://github.com/sculptor/sculptor.github.io. See the repositories README for details on how to set up the development environment.
Sculptor is released under the Apache License, Version 2.0.