Carrot is the beacon content management system for everyone. It's build on top of the popular Spring framework und utilizes AngularJS as a frontend component.
The following technologies are in use:
- Spring Boot
- Spring Security
- Spring Data / Hibernate
- HSQLDB / Postgres
- Thymeleaf
- Joda Time
- Bootstrap
- jQuery
This repository consists of two separate projects. The folder 'core' contains the Spring Boot project and the folder 'client' includes the AngularJS client application. Dependencies are managed via Maven & Bower. You can run both client and core on your local machine, your own server hardware or deploy everything to the cloud (e.g. Heroku via Spring Cloud). Use the appropriate application.yml file to configure your datasource.
See the CarrotSDK repository for additional details on how to communicate with devices.
Run Spring Boot by running the command mvn spring-boot:run
(/core). When your Spring Boot application is running, you can fire up the build-in frontend server by running grunt server
(/client).
To integrate the client module into the core, run the grunt command grunt build
. All assets, html, js and css files are being copied to the resources directory inside your Spring boot project.
Carrot is running as a multi-tenancy application under app.carrot.re. Feel free to create a user account and connect your mobile apps.
The following features are still missing:
-
(Advanced) user management - Currently we have a single user with credentials stored inside the application settings file. This should be replaced with a proper user and role management in the future.
-
Support for binary files - Carrot's current support for text and notifications should be extended to allow file attachments. The syncing process needs to be overhauled for that purpose.
Carrot is released under version 3 of the GPL or any later version.