Skip to content

A web application library based on Scala, Play and ReactiveMongo

License

Notifications You must be signed in to change notification settings

SoheilJafari/xcala

 
 

Repository files navigation

Xcala

This is a web application library based on Scala, Play and ReactiveMongo.

Parts

Xcala provides helpers for various parts of web development.

Controllers (xcala.play.controllers)

Provides base functionality for CRUD operations, support server side pagination, data criterias, localization, etc.

Views (views.html.xcala.play)

Provides base components for rendering HTML pages, like:

  • Bootstrap input renderes
  • Master-detail input structures
  • MVC-friendly grid view with sort and pagination
  • etc.

Services (xcala.play.services)

Provides base functionality for building CRUD data services, server side pagination, data criterias, GridFS, tree structures, decorators, etc.

Extensions (xcala.play.extensions)

Extending existing classes and objects:

  • BSON helpers like DateTime, BigDecimal, Range, etc BSON handlers
  • Play Form helpers for BSONObjectID and other things
  • Other helpers

Models (xcala.play.models)

Models used in other part of Xcala.

Utils (xcala.play.utils)

Other useful utilities.

Build and Use

Build

sbt compile

Use

Publish locally:

sbt publish-local

Use in other projects:

libraryDependencies += "com.xcala" %% "xcala-play" % "0.3"

I haven't published Xcala into maven repositories yet. Because it's still under development and it's easier for me to use publish-local. Please let me know if there are simpler ways ;)

Known Issues

  • Project structure is like a Play application while it's a library and should be improved
  • Data services are hardly-coupled to Play config which should be decoupled

About

A web application library based on Scala, Play and ReactiveMongo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 90.6%
  • HTML 9.3%
  • Dockerfile 0.1%