Skip to content

marco-cerdeira/bennu

 
 

Repository files navigation

Modular Web App Development for Java Build Status

Bennu is the foundation for building modular Java web applications based on the fenix-framework.

Bennu covers the following core features:

  • Runtime installation configuration
  • Runtime application menu configuration
  • User authentication
  • Access groups
  • Rest server infrastructure
  • Transactional IO
  • Scheduling system (crontab like configuration)
  • Indexing and search
  • Theming
  • Internationalization

Create your own web application in 5 minutes

Basic setup

  • Step 1 Create a mysql database for your project

  • Step 2 Create a web-app project:

mvn archetype:generate \
    -DarchetypeGroupId=org.fenixedu \
    -DarchetypeArtifactId=bennu-webapp-archetype \
    -DarchetypeVersion=3.3.0 \
    -DarchetypeRepository=https://fenix-ashes.ist.utl.pt/nexus/content/groups/fenix-ashes-maven-repository

Make sure to supply the information required by the archetype.

Due to a limitation with Maven, you cannot select an empty database password. If your password is empty, choose any, and edit the 'src/main/resources/fenix-framework.properties' file.

  • Step 3 Run mvn tomcat7:run on the newly created project and it's up and running

  • Step 4 Open your application at http://localhost:8080/

  • Step 5 Follow the on-screen bootstrap guide, which will ask your for some initial system configurations.

  • Step 6 Once you hit finish, you should see the initial screen of your application. To login, simply click the 'Login' button on the upper right corner, and enter the username you chose in the previous step.

  • Step 7 Click on the 'System Management' and you are now able to select which functionalities your application provides.

Creating an hello world module

  • Step 1 Create a library project using
mvn archetype:generate \
    -DarchetypeGroupId=org.fenixedu \
    -DarchetypeArtifactId=bennu-project-archetype \
    -DarchetypeVersion=3.3.0 \
    -DarchetypeRepository=https://fenix-ashes.ist.utl.pt/nexus/content/groups/fenix-ashes-maven-repository

The following steps assume you named your application 'hello-world'. If that is not the case, replace 'hello-world' with the name you chose.

  • Step 2 Open the file src/main/webapp/hello-world/index.jsp and set it's contents to:
<h1>Hello World</h1>
  • Step 3 Open the file src/main/resources/apps.json and set it's contents to:
{"apps": [{
    "title": { "en-GB" : "Hello World", "pt-PT": "Olá Mundo" },
    "description": { "pt-PT": "O meu primeiro módulo Bennu", "en-GB": "My First Bennu Module" },
    "accessExpression": "anyone",
    "path": "hello-world",
    "functionalities": [{
        "title" :  {"en-GB" : "Hello World", "pt-PT": "Olá Mundo"},
        "description" : {"en-GB" : "Greets people warmly", "pt-PT": "Saúda pessoas afectivamente"},
        "accessExpression": "anyone",
        "path": "#"
    }]
}]}
  • Step 4 Add your newly created module to your application, and install it using the System Management tool. Your app should now be available in the application's menu.

What's next?

From here you can start developing your application modules. Further documentation (both developer and user) can be found in the project's wiki

Contribute

Bennu is open source LGPL 3. We welcome interest in the project and are open to your contributions

About

Framework for developing Java web applications based on the http://fenix-framework.github.io

Resources

Stars

Watchers

Forks

Packages

No packages published