E-commerce and Security - 1DL018
Spring 2009
Project - development of an e-commerce web site
Contents
General
The students will be divided into project groups of about 4 people.
Each group must select a project manager (does not have to be tha same
through the complete course).
The goal of this project assignment is to give a taste of how to develop real-world applications as a group and how to use standard technology such as servlets, JDBC, HTML etc. For each task some research is required in order to solve it. There will often be some hint in each task description to get going and it is essential that all project members understand that much is left to the project group to solve. Important to note is that this project assignment description is in no way complete. Many important topics will be handled at the project lectures. Therefore, at least one member of each group attending these lectures.
It is recommended that all members of a project group are assigned an area of responsibility. For example, in this project there should be at least one or two persons responsible for the database you will have to use. One person should be responsible for the user interface design of the web application. Of course, there is a project manager responsible for getting it all done. The project group will have to work together on all areas to succeed and all member should be involved in all aspects of the web application.
Again, this project assignment is designed to give a first hint of real world application development. This requires a lot of independent work.
Requirements
Since a goal of this course is to let each student experience the process of creating a web application, it is important to simulate the conditions in a real-world project as much as possible. The conditions are as follows:
Important
- The group must elect a project manager who will be responsible for the administrative work (project page, time reports etc.) and communication with contractor.
- The group will have to set up a small project plan including a coarse time schedule.
- Regard the course assistant as an external contractor who is paying for this project. It is very important to have a good relation with the contractor so communicating all relevant events such as delays, sickness, problems etcetera, is necessary.
- The group must create time reports for each member of the group. This is used for virtual cost analysis. Each week the project manager should send a progress report to the contractor.
- For all email contact please include: group number in mail
subject. Send reports to course assistant.
- The group should decide on milestones for the project before starting.
Project Web Page???
All project groups must have their own web page containing contact
information of all members in the group. Also this page should include
the weekly progress reports, a link to your e-commerce application and
anything else the group feels is important for documenting their
approach, such as links to other web applications that are used as
inspiration etc. This page must be kept alive and updated throughout
the course since it will be used to monitor the group's progress.
Web application
Each project group shall implement some type of e-commerce web application. You can choose from, but are not limited to, the following list:
- Auction site - search function, monitoring / filtering.
- Simple Bank/financial service - move money between accounts, take loans (sign agreements), buy funds (sign agreements), payment/withdrawal history, search function.
- Booking service - search booking slots/prices
- Web shop - with shopping cart and checkout and item serach.
We encourage you to come up with your own original ideas.
The application should handle the following features:
- A database server - persistent storage
- A web server - web content delivery
- Some form of reliable transaction.
- Login and user registration and verification
- Administration web-interface (simple but functional)
- Customer communication
At this stage you should have a rudimentary understanding of PHP scripts, how to code and deploy them under Apache. You should be able to use the MySQL database with its PHP/JDBC interface and you should have decided on the kind of web application you want to set up. With all this in place it is time to implement the required functionality of the web application of your choice.
Technical requirements
- The projects are suggested to be coded in HTML, Javascript, PHP, using the MySQL database and Apache webserver. You can also choose to work with other tools but you have to take these decisions together with the course assistant.
- All HTML-output must be valid and well-formed. This is very important in order for all kinds of browsers to function properly. You will find a HTML Validator at w3c. W3C is a rich source of knowledge for a web application developer.
- The code must be well documented and commented.
- You are encouraged to follow these coding conventions. This is to facilitate communication within the group and with the contractor. In the very least, all project code MUST follow a defined coding convention.
Documentation
The project must be appropriately documented. This means that you should create a proper and nice looking report containing at least:
- PHP code having both internal and external documentation.
- Class/routine overview and descriptions.
- How to install, build and how it all works.
- Document how to use the web-site.
- Functionality
- Special features(?), etc.
- Describe the project idea.
- Include your business plan.
The report should be a PDF or PS.
Project Examination
All activities will form the basis for examination including assignments, student presentations and project activities such as group performance, project work, project presentations, documentation, technical qualities and business plan. The final project will be examined in the project presentation and demo at the end of the course and in the group evaluation and project deployment that finishes the course.
Project Presentation
Each group will be required to present their project in the midterm
evaluation and on the final "Project Presentations" lecture.
The presentation must include the business plan as well as
design-issues, implementation, functionality and any other relevant
information. Try to make a presentation that sells your project as a
reasonable business idea.
A short demo of the website is expected in the presentation, however
keep it short.
Each group has 45 minutes in total which in reality after all technical
issues have been solved is closer to 40 minutes worth or presentation
time.
All members of the group must attend.
Business Plan
The business plan should at least contain:- A rough estimation of required development budget
- A projection of development
- A brief market analysis, what other actors are competing on the market. What makes you better?
- A convincing argument of why this will work/make money
Remember that important purposes of the presentation is to convince your contractor/investor that your idea hold and is worth investing in.
Technical Examination
Each group will be required to sit down with the teachers and give a
15-20 min technical demonstration of their project.
During this demonstration the project group will have to answer
questions about design, functionality and security. Even though no
security is required to be implemented, as a separate task all students
should try to identify different security flaws in the design of their
particular web application.
To this examination each group is expected to bring (or provide a link to) a ZIP-file containing the complete project including the documentation, project presentation from earlier, and the complete project source (the entire Apache dir preferably), in short everything concerning the project.
The plan is also that the project should be deployed under the departments Web site/Apache server and under a group account provided by the course assistant. More detailed instructions will be provided later.
All members of the group must attend this examination, and all members will be required to answer questions concerning the project.
- The schedule for when and where examination takes place for each group will be scheduled towards the end of the course.
Last update: 2009-01-30 Responsible:
Kjell Orsborn
Copyright © 2009 Uppsala University, Department of Information Technology. Show printer-friendly page |