The final project entails, building a dynamic web application with all the concepts learned during the course of this semester. The page will contains all the basics of any enterprise web application like login, browse, shopping cart, add items to cart, check out, email and confirmation. The final project will be done in 2 phases. The first phase includes an initial proposal of your project. Click the “ProjectProposal.pdf” below to check out a sample project proposal. The second and final phase includes, completing the final web application with all the htmls, java server pages, servlets, java beans etc fully implemented. Each team has to capture their project requirements and findings and present them along with a demo of the web application on our final meeting. The final class will be a live meeting via Adobe Connect. The date and time will be finalized after polling all the students. If an individual or a team is unable to attend and present the final demo, a recorded version be accepted.
The project is to be done in groups of three or four (if you want to work in a group of a different size or alone, talk to me).
Some suggestions for the project are given below. You are not restricted to this list, however you are encouraged to come up with something different if you want, as long as you run the idea past me first. In any case, your project must have the following characteristics:
- It must allow multiple user options. That is, the user should not be restricted to a specific sequence of actions. They should be able to choose the action they will take next (find information, choose a product, view the cart, etc.).
- It must involve session data related to users (such as a shopping cart, list of courses, etc.).
- It must have a good user interface. I don’t expect anything too elaborate (although really nice features might result in extra credit), but the pages generated by the system should be readable and uniform.
- It must require input validation. Any errors should be trapped by the system and presented to the user as informative error messages (instead of Tomcat exception pages).
- You don’t have to use a database to store the data but must session and Java Beans to store data (Database usage is encouraged though).
- At least one or two pages must implement SSL.
The system that you implement should follow the Model-View-Control architecture. That is, requests should be handled by one or more Servlets, responses should be generated using Java Server Pages, and implementation of the session and interaction with the appropriate Value Objects.
On or before the “end of Week 5” you are to turn in a preliminary proposal for your project. It should include:
- The names of all people in your group.
- A basic plan for how you intend to divide the up work. A good start might be to think in terms of different parts of the MVC architecture.
- Click the following link to check out a sample project proposal: ProjectProposal.pdf . Here is a wordcopy. Feel free to “Save As” and use it as a template. Do not copy the content as is.
What to Turn In
The project is due the last day of class. At that time:
- Zip the entire project with database (if you have) and submit it to the appropriate assignment item below:
- For those of you using a database:
- If MySQL – just give me the DB with login/password details, if any.
- If Oracle, DB2 etc – please attach some screen shots of the running web app as I won’t be configuring an Oracle or a DB2 database while grading…
- In Memory DB is ideal if you like to use it like Apache Derby or HSQLDB etc.
- Presentation Guidelines:
- Introduction (Project Name/Type, team mates etc.).
- Overview of your project.
- Design/Approach (MVC, DB, Struts etc).
- Live demo via APL server or your PC using Adobe Connect.
- Focus on things of interest if you have any as different teams are using different technologies like MVC, Struts, Spring, JSF, TLDs, XML etc.
- For those of you using a database:
eCommerce Store (DVD, Music, other items etc)
Travel Site system – Air, Hotel, Car Rental etc…
Social Networking site etc..