Personal Accounting

This website allows registered user to store details regarding their expenditure and income. It displays summary and details of expenditure and income.

It allows user to do the following:

Architecture Of the Project

This project uses JSF to build the interface. Managed Beans talk to DAO (Data Access Objects), which talk to database using JDBC.

So overall architecure is - JSF Components -> Managed Beans -> DAO -> JDBC -> Oracle Database.

It also uses a filter (Intercepting Filter design pattern) to ensure only authenticated users access secured pages.

Products used in this project

Steps to download and deploy this project

  1. Download pa.rar. The .rar file contains the entire source code for the project. Unzip the file into C:\ so that c:\pa folder is create with all the components of the project.
  2. However, in order to keep the download small, the project does not contain .jar files related to JSF, Oracle and  Java Mail. So you need to add them by taking the following steps.
  3. Go to properties of the project using popup menu. Select libraries node and delete existing libraries using  Remove button. Then add - Oracle - ojdbc14.jar and mail.jar for Java Mail. You have to add these .jar files to the project using Add Jar/Folder button.
  4. Add JSF 1.2 libraries using Add Library button
  5. Create pa account with password pa in Oracle10g Express Edition. This must be done after you log in as SYSTEM user. Then create tables listed below.
    create table users
    ( uname varchar(10) primary key,
      password varchar(10) not null,
      email  varchar(50) unique,
      registeredon date
    );
    
    insert into users values ('abc','abc','abc@gmail.com',sysdate);
    insert into users values ('james','j','james@sun.com',sysdate);
    
    
    create sequence  expid start with 1 increment by 1 nocache;
    
    create table expenditures
    ( expid  number(5)  primary key,
      uname  varchar(10) references users(uname),
      expdate  date  default sysdate,
      expdesc  varchar2(200),
      expamount number(10,2),
      expremarks varchar2(1000)
    );
    
    
    create sequence  incomeid start with 1 increment by 1 nocache;
    
    create table incomes
    ( incomeid number(5)  primary key,
      uname  varchar(10) references users(uname),
      incomedate  date  default sysdate,
      incomedesc  varchar2(200),
      incomeamount number(10,2),
      incomeremarks varchar2(1000)
    );
    
    
  6. Start NetBeans 6.8. Open the project from c:\pa folder.
  7. Run login.jsp, login and try the remaing pages.