Hi,
I'm a student and i want apply to the Summer of code. I wrote an application. It would be nice to have some feedback from the community. Before i post in the official google webapp. Any comment or advices will be really appreciate I also attachment a copy in txt with this mail. Thanks. ---------------------------------------------------------------------------------------------------------------- Application ---------------------------------------------------------------------------------------------------------------- Name : Seaside and Sails URL idea : http://wiki.squeak.org/squeak/5952 Student : Pedro Del Gallego Vida. ----------------------------------- Seaside and Sails ----------------------------------- ========= Abstract : ========= This project will provide, by the end of the summer, a tool that bring a structure generation to Seaside. This piece of software enhance Seaside with generetors tools, commands and conventions that help programmers to develop CRUD-style web applications in Seaside in a much faster approach. Other of the goals of this project is create an extensible code generator that provide the infrastructure to develop custom generator easily The approach is the Structure generation vs the code generation. * one-step creation of components, including models and views. (probably using Magritte) - The model - The view with the four basic operation method. Create/read/update/delete (CRUD), list and style mehotd, - The database scheme * Easy creation of tests: using Sunit - unit tests - functional tests - performance tests * To easily connect to persistence layers, create the basic features for CRUD operation in the model. (probably using glorp) - basic find behavior. * Help int the deploy application generating a set of commands that : - Start the server. // WAKom startOn: 9090. - Register the application // registerAsApplication: - .... * Only database Configuration of this tool will be necessary. Code convention over code configuration. ========= Benefits for The Seaside Community ========= Seaside will be powered by a structure code generation. It will accelerate the development cycle, supporting generation for models, views, test, and allowing the user to design and implement custom generators. While a new framework has a shallow learning curve for Java, JSP, PHP, Python guys, Seaside is much, much different. Structure generation drastically lowers the learning curve by teaching the conventions through code instead of documentation. ========= Development plan ========= 1 Research (1st week) * Identify the best practices, code conventions and structure convention of a Seaside application * Identify the common manual task in a Seaside development cycle * Identify Smalltalk idioms * Define the commons action in all the task (create a class, define methods, ...) 2 Implement the kernel classes, with only basic features. (2nd week) 3 Integrate Magritte with the kernel of the framework to generate the views (·rd week) 4 Integrate Sunit with the Kernel framework to generate unit test (4th week) 5 Implements connectors to the database. (Using glorp) (5th week) 6 implements helpers to deploy the application (6th week) 7 Adding Generator class loaders.(6th week) 8 Implementation of user intefaces (commands for the workspace) (7th week) 9 Extensive testing (Unit Testing)(8th week) 10 Documentation and tutorial. (8th week) ========= Basics generators class hierarchy ========= ---| |-- BaseGenerator | | | |-- ApplicationGenerator | | | | | |-- seasideAppGenerator | | | |-- TaskGenerator | | | | | |-- ModelGenerator | | | | | |-- ViewGenerator | | | | | |-- TestGenerator | | | |-- | | | |-- scriptsDeployGenerators | |-- | |-- gen // a command line (workspace) for the generators. ========= Related programming techniques : ========= * Reflection. * Metaprogramming. * Structure code generation. ========= Related frameworks: ========= * SUnit * Magritte ========= About me: ========= I am 28 y.o., and I am 5th year student of Computer Science at Universidad de Granada, Spain. I'll graduate in about 9 month. My interests are virtual machines, web technologies, object-oriented systems, functional languages and many other things. Currently I combine my education in UGR with work in software company in Hamburg, Germany. My current duty is Ruby/Rails development. My graduate work in university is dedicated to applying Latente Semantic Indexing to natural languages processing. I also have extensive experience in the Linux-Tomcat-Java-Struts architecture, having written code for one of the biggest world car manufacturers , among other projects. My relevant skills include proficiency in C, Java, Lisp, Ruby the standard GNU development tools (gcc, automake, etc.), Java tools (Xdoclet, ant, maven), CVS/SVN, and a host of other smaller languages and tools. I've been involved in the open source community for a while. I help to build and configurate http://javahispano.net Gforge (sourceforge) site for the Java spanish spoken community. ========= Motivation and interests: ========= Why I want to take part in it... I'll be honest. I saw Seaside at the first time, when I read a post "on smalltalk blog" comparing Rails vs Seaside a month ago. I was surprise about this new way to develop web application. And I liked it. I spend the last year working with rails. I wrote custom generators and rake task for my employer. I love ruby/rails tools, like rails_generators system or rake, and the way they reduce the time i spend in front of the IDE. So, I think, I can do this task. ========= Available time: ========= In the beginning of the project (to the end of June), I will be somewhat limited by school - our semester ends by the end of May, followed by one month reserved for exams. During that time, I will spend some time learning and doing exams, so I cannot commit myself into this project fully during June. But I am sure I will be able to find time. After that, I will have 2 months holiday that I plan spending fully for the project. Maybe, I will go for one week vacation, but I assume I would work on this project even on this vacation, so it would not interfere with project development much. -- ------------------------------------- Pedro Del Gallego Email : [hidden email] _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside SoC -- Seaside and Salis.txt (8K) Download Attachment |
Free forum by Nabble | Edit this page |