I've been working with BDD for years and felt that it needed an application that would facilitate the Behaviour-driven development work-flow. It would need to be made in a away that anyone can use it. By anyone I mean people with or without technical skills. Coders, testers, analysts, managers, business, etc. In that spirit, I started working on BDD Assistant. It is an open source application that can be used to create, manage and run BDD stories.

Now I feel that it is finally ready to go public. The application is far from being finished but there is enough done for the community to see what it's all about. More information can be found in the BDD Assistant site. Latest release can be downloaded from our GitHub repo. Live demo (with some features disabled due to hosting limitations) can be seen from the BDD Assistant demo.



The application back-end is built using Scala and Play!. For dependency management, running tests, compilation and staging we're using SBT. Java is retained for some parts of the application (mainly BDD steps) since future users that might need to extend it might feel more comfortable with something more familiar. In other words, application itself (at least the server-side) is written in Scala. Parts of the application I thought others might extend is done in Java.

All communication between the back-end and front-end (server and client) goes through REST API. Front-end is done with AngularJS and Bootstrap CSS for styles. Dependencies are managed with Bower and tasks execution with Gulp.

For unit tests the weapons of choice are Specs2 and Jasmine. All functional specifications and testing are done using the BDD Assistant itself. For continuous delivery we're using Travis that deploys the application to Heroku servers.

The project started around the beginning of the year and today it reached the point of having enough features implemented to serve as the showcase and hopefully attract some interest from the community. I'd like to use this opportunity to ask for help. The project is too big for me to continue working on it alone (bear in mind that I have a full-time job that leaves me with little to no free time for side projects). If you're interested in trying out the application or contributing in any form or way, please post a comment below or send me an email to viktor@farcic.com. It doesn't really matter what is your background. The project needs all sorts of skills (Java, Scala, JavaScript, design, UX, marketing, etc.). As long as your motivation is to learn something new or expand your existing skills, you're more than welcome to join. Any suggestions on how to promote the project will be highly appreciated.