Monday, December 11, 2006

Development Setup for BaseApp

What you need for development?

A Workstation :). Mine is a AMD Athlon XP 2400+ CPU (2 GHz), 1.5 GB RAM. The OS is WinXP Home Edition SP2.

Setting up a Development Environment

Before i start any development (primarily in Java) i make sure that the following open source tools are ready for use:
  • CVSNT is installed. Its simple click and install thing. Then you will need to setup the CVSNT Service and identify the CVSROOT. Then install a WinCVS client and access your project sources in the client and import the new project module to the CVSNT server. Once the import is done you can checkout the project sources and work on it. I will generally use the VCS support from the IDE itself (Netbeans 5.0 beta 2 has excellent support for the CVS). Yes, there are alternatives to using CVS; one is Subversion. But for me CVS works fine as i am more used to it. Also you might want to have the ViewCVS (A windows port link) installed to browse your CVS repository online. You would need Python and Apache installed on your system for ViewCVS to work. For BaseApp, i will use the Subversion SCM provided at Google Code site.
  • Install a issue tracking system. Bugzilla or Scarab. For BaseApp, i will use the issue tracking service provided at Google Code site.
  • A Free SMTP Server (as you generally require to send out emails from either your own application or for the tools above like scarab). This will be required only to test/develop BaseApp components.
  • A Wiki is useful to record your information and to share it with other developers in your project. Its more a best practice to have a Wiki in your setup and use it for recording the module features which you have learnt over time. This makes a easy reference for yourself in future and also for your colleagues who might need to maintain the work done by you. An alternative to Wiki nowadays is to setup a blog.
  • Mailing list: You need to (especially so for open source projects) have the discussion forums setup for the users and developers (contributors) to be able to discuss about the project/modules. Majordomo is the most famous, free, such option, which comes to mind. For open source project like BaseApp, we will use the free hosted discussion groups by google.
  • An IDE. For Web development work, i have developed a taste for the Netbeans IDE. Other good alternatives (and some say better :) are, Eclipse (Open Source) and IntelliJ IDEA (Commercial).
  • MySQL Database or Oracle 10g XE.
  • Continuous Integration : CruiseControl (open source) or AnthillPro (commercial).
The above tools mentioned are just some of the most commonly required tools which are required in a project's life cycle.

No comments:

(c) 2006-2007, Watsh Rajneesh. All Rights Reserved.