Carrot: Beacon Content Management System - The server and client application
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
client
core
.gitignore
.travis.yml
README.md

README.md

Carrot Logo

What is Carrot?

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

Status

Build Status

How to get started?

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.

Development

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).

Deployment

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.

Example

Carrot is running as a multi-tenancy application under app.carrot.re. Feel free to create a user account and connect your mobile apps.

What's next?

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.

License

Carrot is released under version 3 of the GPL or any later version.