Projects for E-Commerce
Your grade in this course will mostly be determined by the quality of the final
project you and your teammates complete. The final project should
demonstrate as many aspects of the topics that we cover in the course as possible.
Project Requirements
- Result in the development of an interactive web-site.
- Make use of a MySQL database. Client use of the web-site should result in
additions, modifications, and deletions to the database.
- Provide an adequate level of security. At least some of the information
passed from the client should be encrypted--using the https protocol will suffice. Individual users of your web-site
should have some kind of password-protected entry, to maintain privacy. Different
users should not be able to access each other's data.
- Consist of source code written in some subset of Java, Javascript, jQuery, PHP, HTML, CSS.
- The project should use Ajax to provide for asynchronous page updates.
Other requirements. The project should:
- Provide a mechanism for allowing users to create an account that stores information that is used in future sesssions.
- Maintain and use session information as the user navigates your site.
- Present a professional appearance on a 1024x780 screen, or similar sized device. This will support your final demonstration when you are using an LCD projector. The user should be able to navigate your site easily, and intuitively. Let web sites you yourself have used guide your design!
- All links internal to the web site should be relative, rather than absolute. I.e., your <a> href and <form> action attributes should not start with "http://" or "/".
- All files must include the authors' name(s) in a header comment.
Ideas for Projects:
The following are only a few ideas. Feel free to use the ideas below, if you
wish: you may modify them in any way. You are also encouraged to come up with
your own projects that have nothing to do with the ideas below. Be imaginative! The more imaginative and creative you are, the more interested and excited I will be, and that can translate into a better grade on your project!
- An online auction house or flea market. Something similar in overall concept to ebay or etsy.
- Online news amalgamator. Similar to the news feed in Facebook. Pulls stories from various news feeds. Users can personalize what types of news they want. Should use some kind of recommender system that will change the stories the user sees based on past likes and dislikes of articles.
- An on-line retail store. We've all browsed countless sites like this:
Amazon, BestBuy, HomeDepot, etc., so you've plenty of examples to build from.
Your store should feature:
- User-specific login process.
- A mechanism for the user to modify shipping information, password, etc.
- Memory of previous visits by the user ("on your previous visit
you ordered....")
- A "shopping cart", where users can indicate which goods they
want to purchase.
- A "checkout" method, wherein the users can provide credit
card and shipping information to purchase the materials in the shopping
cart.
- A mechanism for browsing the inventory, and for searching the inventory
for particular items.
- Inventory must reflect purchases. You should also provide a mechanism for adding elements to the inventory (i.e., provide a tool for the shop-owner to use.)
- An on-line fantasy sports site. For example, a fantasy baseball site.
Each user maintains a team of players (names from the Major Leagues). Each
week different player's teams play against each other. For the purposes of
this assignment, you don't have to implement the actual play, only the mechanisms
the would support such.
- Your system must provide a mechanism for users to form "leagues"
(2 to 10 users). The team members in a league must be distinct.
- A user might be in more than one league.
- Your system should provide a mechanism for holding a draft. Each league
member is given the opportunity to select a player from a central database
listing all available players. The process repeats until each team consists
of 15 players.
- (For purposes of a draft, your site must be able to support simultaneous
connection by the league members.)
- Users should be able to set their team's batting order and to select
which player will field which position.
- There should be a mechanism to allow teams to trade players. This must
be accompanied by some kind of security mechanism to ensure that both
owners actually want to make the trade.
- There should be some way to view the current league standings, and to
view the results from past games (i.e., which team won which game and
against whom).
- An on-line gaming site. Users log on. There is some kind of mechanism
to either allow or force the users to pay for the privelege of using the site. For example, use of the site might be free, but the user can spend money to purchase additional in-game elements. The site should
offer a suite of games to choose from. Users should be able to view statistics
indicating how they have faired in past gaming sessions (by how much did they
win or lose). The site must allow for simultaneous interraction by multiple
users who are playing against each other in the different games. You need
not implement particularly difficult games: tic-tac-toe or similar activities
will be sufficient. The key is to have 2 or more players playing against each
other. Of course, more involved games would be even better.
To hand in:
In this first stage, you must provide a written outline of what you intend
your site to do. The outline should be about 5 pages in length, and should provide
a level of detail considerably greater than that in the descriptions above.
On the other hand, this is not a full specification. (That will be the next
assignment.) You might want to include a couple of story-boards, but you don't need
a great many of them. For example, illustrate, roughly what your major page(s) might look like as the user uses it.