Are there good Grails sample applications from which to learn? [closed] - grails

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Besides the sample applications featured in the books Beginning Groovy and Grails and The Definitive Guide to Grails, are there any applications out there written in Grails that are good examples from which to learn best practices? Such as real applications that are open-source? Thanks.

During my learning phase, I came across several good sample applications.
This sample web album app got me started on grails. It covers security, image upload / manipulation, basic crud etc.
http://www.syger.it/Tutorials/GrailsWebAlbum.html
Here's one from Glen Smith, author of the upcoming Grails in Action book. The source code to the groovy blog aggregator is located here:
http://code.google.com/p/groovyblogs/
Here's another one by Glen, a blog engine written with grails:
http://code.google.com/p/gravl/
And finally, here's the code to the grails.org site which includes wiki functionality:
http://github.com/grails/grails/tree/master/grails-samples/grails.org/

Yes. IBM has an excellent series of articles building on to a sample application at IBM's developerworks site:
Part I:
http://www.ibm.com/developerworks/java/library/j-grails01158/
The Series:
http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails

If you are interested in seeing an application which is pre-built which also incorporates the Grails specific testing practices and approaches (as well as some widely practised testing methods as used within Grails), the Winelovers application outlines a fully working app and a number of different testing angles which can be applied to create confidence and increase testing coverage for your apps.
https://svn.energizedwork.com/skunkworks/grails/WineLovers/
There is also a presentation which accompanies this which goes into samples and pros and cons.
I will be following up this work with a greater number of examples and further tutorial type updates to help draw out the benefits of testing this way and this much.

I'm adding Stephane's new application to the list:
Stephane Maldini ✆ to user show
details Oct 21 Hi folks,
I'm pleased to announce the release of
a relatively big grails App called
iceScrum
(http://www.icescrum.org/demo). Code
is under a mix of Apache Licence2 ,
LGPL and AGPL for the core
views/design (
http://github.com/icescrum/iceScrum ).
What you can expect to see in this
sample (and if you want to reuse the
view taglibs behind (140 and more
tags)
Jquery widgets : Tables, Postits, Windows, Widgets, Orderable Menu Bar,
Drag And Drop, Key shortcuts .........
Real time push for jquery with ICEpush
Activity plugin ( "someone has done something")
AJAX paradigm for view (url is http://app/project/#view/action/id )
like GMAIL, history fully supported.
Application of SpringSecurity ACL, Springcache, Resources plugin and many
others
Window/Widget paradigm on controller just by adding static ui = true (use
icescrum Web Component plugins inside)
It will be released separatly when
time will come
Jasper integration
Jquery Chart integration
many many things which deserve a lot of documentation, at this time you
will have to explore yourself some
parts.
The app purpose is to offer to agile
teams a tool to share a dashboard (for
collaborative consultants etc),
reports, stories, track bugs and so.
It will have his own evolution + some
profressional services for better
integration in IT via plugins or
simply hosting.

... have you looked at weceem?
http://www.weceem.org/weceem/

A very good series that builds a sample app: http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails

I second the IBM series Ray Tayek mentioned, and the energizedwork.com example j pimmel mentioned. The latter has been my reference manual for writing well-tested code and I can't live without it.

The new (Grails 2.0) GEvents app from Paolo Foletto needs to be in this list. There are step-by-step apps leading to the complete app. https://github.com/pfoletto/GEvents/wiki/GrailsWorkshop
There's a working version at http://www.grailsworkshop.com/GEvents/.

Related

DDoS monitoring and alert [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
I want to monitor my network against DDoS and found a screen shot of DDoS monitoring alert by someone. Can any one let me know which software is this after seeing snap shot.
I don't recognise this specific gui, but it could be a customization of snort Gui's.
You can use snort to achive your goal, there are 4 snort gui project active by today.
here is a description:
BASE
The Basic Analysis and Security Engine was based off of the old ACID code codebase. The ACID GUI interface (which is now dead, and has been for about five or six years) was a college project written by an attendee of Carnegie Mellon. It hasn't been actively developed since about 2003. BASE, a fork of the ACID code, picked up where the original author left off, added a bunch of new features, and made it easy to use, multi-language, and a highly functional GUI. There were plans for a redesign of BASE, including the database format that it reads from, but Kevin Johnson, the original BASE project manager has since left the project and turned the project over to new management. However, it remains the most popular Snort GUI interface with over 215,000 downloads. BASE is written in PHP, and has several dependencies. BASE has it's own IRC channel #secureideas, although there is rarely anyone there, so most people come to the default #snort for help.
Snorby
A relative newcomer to the Snort GUI area, Snorby uses a lot of "Web 2.0" effects and rendering providing the user with a very sharp and beautifully functioning tool. This seems to be the current "go-to" web interface for Snort. While it has many of the features of BASE (and a lot more, hotkeys, classifications, an iOS interface, and actual pdf reporting), and not as featured as SGUIL (in terms of architecture), it's extremely easy to deploy, looks fantastic, and functions as an alert browser very well. Snorby's code is hosted on Github, here. Another advantage of Snorby is that it integrates with the OpenFPC project. Functioning similar to how SGUIL collects all information on the network using Full Packet Capture (FPC), Snorby gives you the ability to not only view the Snort alert, but also to view the alerts in context with the rest of the packet flow on the network. Snorby's IRC channel can be found at #snorby.
SQueRT
Paul wrote in about SQueRT. SQueRT uses the SGuil database format and is also web based. You can see the screenshots and download it at the link above.
There is a comparison of that three too here
There are many more projects but are currently inactive with exception of the squil. The most active projects by today, that you can use are SQueRT and Snorby

Building a online Q&A site using Grails Framework

I come from a Java background using Java EE components. I know there are open source frameworks which are django based to build online question and answer sites and currently I am trying out couple. But I want to actually do this by using Grails. I was wondering if someone could point me towards right direction. I couldn't find any Grails based information on building such web application.
Do you mean a traditional forum, or a Q&A website like stackoverflow.com? If you're asking about the former, I would recommend creating a Grails application or plugin that encapsulates the functionality provided by jforum. A plugin would be best, because then you (and possibly others) could re-use this functionality across Grails apps.
Writing your own Q&A website from scratch doesn't make a lot of sense unless your forum is significantly different to those that are already available.

PHP developer learning Ruby and Ruby on Rails [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have been interested in learning Rails for some time now and feel now is as good as time as ever to dip in and actually get my hands dirty. I've spent the past week reading every free ebook on Ruby and Ruby on Rails I can find. I just finished reading Ruby Essentials. I have also been playing with http://tryruby.hobix.com/
I have installed Ruby, Rails, MySQL, PHP, phpMyAdmin on a Windows XP machine, I also have access to a Ubuntu machine.
I come from several years of PHP experience and around a year using CodeIgniter.
What I would really like now is a fairly basic Rails app that is a little more in depth than Hello World but not quite up to par with say a forum or blog.
I find its much easier to learn how something works when I can play with already made code and do some trial and error changes.
What I am really looking for is that 'Ohhh, I totally understand now!' moment I had when I first started learning PHP.
Does anyone have an app or know of one that could possibly provide that moment?
Check out the screen casts on Rails at BuildingWebApps . I've watched several and they have been exactly what I was looking for when learning rails. They start simple and keep adding more and more functionality. The commentators move at a good pace and subscribing to the lessons is free.
If you want something that is built already build the sample application that comes with Agile Web Development on Rails, buy the pdf from pragprog.com, the latest version is set to work with Rails 2.2, so will work with 2.3 as all the basic features of the framework will be the same.
When you are ready to move on from that, the Rails Guides website is all new and is a great resource for all developers new and old.
dwc is right though, a blog is a good thing to start on your own, so when you are confident give it a go, even if you don't put it in production it will help you along.
I would recommend railsforphp.com. They have a PHP to Ruby reference which could be quite helpful.
You can also buy the 'Rails for PHP Developers' book as either a paper or digital copy (or both if you really want to). The book is full of examples that show the PHP way and how it compares to the Ruby/Rails way.
As for ready made code, I suggest having a play with Enki. It is a somewhat bare-bones blogging system that should give you a good testing ground.
You should rethink your idea that a blog is too complex. At it's simplest a blog is a textarea and a submit button, and then storing and regurgitating the results. Start with that to get your hands dirty, then add features as you go. In fact, why not practice some Agile and do your own iterations?
The Rails Guides are nice http://guides.rubyonrails.org/
If you don't like the blog idea, you could make a wiki, this isn't very complex either. you simply need a edit button on every page with the text from the linked to it. This will teach you how to handle rails and play with ruby for things like regular expressions and such.
Take your time, break down these problems and and they should be easy for you to solve with rails.
And go on IRC (server freenode channel #rubyonrails) you can use MIRC for that. Ask questions there, I usually am there, (look for nims).
My suggestion would be to start with a simple CMS. This is something you can continue to use and expand as your skills progress and you start other more complicated projects. In the most basic form, this consists of a Page model, and a Topic model. You could then add a User model, some login capabilities and a simple admin interface. After all, Rails was originally envisioned to make it easy to CMS type sites.
As you get this up and running, you can add some plugins to extend the functionality to include tagging, comments, and more. Or you can roll these capabilities yourself.
Set up an account on Github and learn how to use Git. Its great, and better than what you used before (if anything.) You should also learn rake, and capistrano, as these are huge timesavers and work hand in hand with Rails and Github.
http://blog.caboo.se/articles/2007/4/11/sample-rails-application
http://www.railsinside.com/elsewhere/100-7-barebones-rails-apps-to-kick-start-your-development-process.html

Best Ruby on Rails social networking framework [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm planning on creating a social networking + MP3 lecture downloading / browsing / commenting / discovery website using Ruby on Rails. Partially for fun and also as a means to learn some Ruby on Rails. I'm looking for a social networking framework that I can use as a basis for my site. I don't want to re-invent the wheel.
Searching the web I found three such frameworks. Which of these three would you recommend using and why?
http://portal.insoshi.com/
http://www.communityengine.org/
http://lovdbyless.com/
It depends what your priorities are.
If you really want to learn RoR, do it all from scratch. Seriously. Roll your own. It's the best way to learn, far better than hacking through someone else's code. If you do that, sometimes you'll be learning Rails, but sometimes you'll just be learning that specific social network framework. And you won't know which is which...
The type of site you're suggesting sounds perfect for a Rails project. If you get stuck, then go browse the repositories of these frameworks. Who cares if you're reinventing the wheel? It's your site, your vision, your rules.
If you just want a site up and running, then I would pick Insoshi or LovdbyLess simply because they're out of the box apps so you'll have to do less to do get running. I suggest trying to install them both, and introducing yourself in the Google Groups. That'll give you a good indication of wether you're going to get along.
Update: Insoshi's license has changed to the MIT license, which means you're basically free to do with it as you please. But still, review the license for any code you are considering before you get too invested in it.
Something to keep in mind when deciding is the license for the code. Insoshi is licensed under the GNU Affero General Public License, http://insoshi.com/license. This means that you have to distribute the source code to your Insoshi-based web application to anyone who uses that web application. You might not want to do that, in which case you'll need to pay Insoshi a license fee (they dual license, like MySQL).
LovdByLess is distributed under an MIT license, http://github.com/stevenbristol/lovd-by-less/tree/master/LICENSE. This means you can use the source code however you want to.
I've not worked with these but am aware of this comparison:
"Unlike Insoshi and Lovd By Less, which
are full social networking Rails
applications, Community Engine is a
plugin that can add social networking
features to existing Rails
applications"
from
http://www.rubyinside.com/community-engine-rails-plugin-that-adds-social-networking-to-your-app-901.html
Regarding RailsSpace, that's a very nicely built Rails 1.2 application, and I think it was updated for compatibility with Rails 2.x. There's even a terrific book that was written about the RailsSpace application (or rather, RailsSpace and the book were written together).
But, RailsSpace became Insoshi, when the authors were so inspired by the amount of interest in a social networking site built in Rails. So while RailsSpace might be an interesting learning exercise, it's dead in terms of development. All of the authors' efforts (for more than a year now, I think) have been going into Insoshi instead, so that's where you should be looking.
Another option for anyone who wants to create a social site without having to build it from scratch is the EngineY framework. EngineY is a social networking framework written in Ruby and Rails. It provides alot of popular social networking features such as activity streams, groups, photos, message boards, status updates, events, blogs, wall posts, integrated twitter feeds, and more. EngineY is also under active development with new features being added all the time. You can read more about EngineY and download it from: http://www.enginey.com
Use Rails 3 and roll your own. Don't copy and paste code though, look through the source and try to understand the reasoning or motive behind certain design decisions, only then will you learn.
Just a quick update, EngineY now supports Rails 2.3.5 and just released this weekend is support for themes. This goes along with existing features including groups, blogs, photos, REST API, status updates, Facebook Connect, forums, private messages, user profiles, activity feeds, wall posts, and more... Check it out at http://www.enginey.com or on GitHub at http://github.com/timothyf/enginey
One other positive to Community Engine is that it is using Engines which is an advanced type of plugin that is becoming a part of rails in 2.3. So what you learn from using Community Engine (and therefore Engines) will be useful going forward.
i'm currently testing both lovdbyless and insoshi. i was able to install and get insoshi up and running fairly quickly whereas lovdbyless is giving me a harder time.
if you're in novice mode, i suggest getting the book from Head First.
http://www.headfirstlabs.com/books/hfrails/
it is probably one of the better books out there for beginners. atleast in my opinion because i went through a few that was just way too confusing.

Automatic code quality tool for Ruby? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
One thing I really miss about Java is the tool support. FindBugs, Checkstyle and PMD made for a holy trinity of code quality metrics and automatic bug checking.
Is there anything that will check for simple bugs and / or style violations of Ruby code? Bonus points if I can adapt it for frameworks such as Rails so that Rails idioms are adhered to.
I've recently started looking for something like this for Ruby. What I've run across so far:
Saikuro
Roodi
Flog
These might be places to start. Unfortunately I haven't used any of the three enough yet to offer a good opinion.
Saikuro and Flog can be good for getting a basic idea of code complexity. You can also use a tool like rcov to look at your test coverage.
There is a plugin for Rails projects that combine all those metrics into a single rake task. It is called metric_fu.
Projects I've found and tested recently:
https://github.com/railsbp/rails_best_practices
Seems to work, and gives sensible warnings
https://github.com/simplabs/excellent
Works, but quite a few false positives
https://github.com/troessner/reek
I disagree with most of the warnings from this tool, but it works
http://www.cs.umd.edu/projects/PL/druby/
This requires ocaml; I haven't tried it, but it looks like it might be good
http://roodi.rubyforge.org/
does not appear to be Ruby 1.9 compatible
https://github.com/gdb/ruby-static-checker
Is broken for me, and only catches name errors, so unit tests should cover that.
https://github.com/michaeledgar/laser
Doesn't compile for me
You might want to try out RuboCop. It is a Ruby code style checker based on the Ruby Style Guide. It's maintained pretty actively and it's based on standard Ruby tooling (like the ripper library). It works well with Ruby 1.9 and 2.0 and has great Emacs integration. I hope you'll find it useful!
Dust looks like it can help you find unused and useless code, which seems like it sort-of fits what you're after.
I'm not aware of any other such tools.
This problem is vastly harder to address in ruby than it is in java - you'll note that all those java tools brand themselves as using 'static analysis' of the code.
Static analysis of ruby code often isn't possible, because there isn't anything static that you can analyze (methods often get created at runtime and so on)
At any rate, some of these things are unneeded in ruby because the language builds them in.
For example, you don't need a coding standard to enforce that your classes are all NamedLikeThis because the code won't work if they aren't.
P.S. I have to add the standard disclaimer that those kind of tools can often be a bit of a red herring. You can spend all day making your code adhere to what the tool thinks it should be, and end up with more bugs than you started with.
IMHO the best solution is to write your code fluently so you can read it more easily. No amount of static analysis is going to be as good as a human reading code which clearly states what it is meant to do. Being able to do this is where ruby is light-years ahead of many other languages. I personally would recommend you aim your efforts at learning how to write more fluently, and educating your team about such things, than spending time on static analysis.
Another nice tool, although in early stages according to the author is reek:
http://reek.rubyforge.org/
reek currently includes very naive checks for the following code smells:
Long Method
Large Class
Feature Envy
Uncommunicative Name
Long Parameter List
Utility Function
Nested Iterators
Control Couple
Duplication
List item
Personally I think it still has too much false positives, but just looking at the output in some of my code helped me rethink some decisions about code style and architecture.
Code Climate is a SaaS tool that integrates through git and automatically "grades" your code. It notifies you via various channels if there a sudden drop in quality. Nice UI as well.
I didn't see this questions when asked, but a blog post I did might help as well. In it I cover a bunch of Ruby tools and specifically cover 4 code quality tools...
Roodi
Dust
Flog
Saikuro
It might also be worth checking out Towelie and Flay
http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/
Now we have combined a lot of tools into an only Ruby code quality and metrics monitoring tool called Caliper. This might fit your needs well. It tracks various quality metrics over the life of a project.
Caliper - improve your Ruby code
There is also excellent. I haven't tried it yet, but it too looks promising.

Resources