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

  1. Result in the development of an interactive web-site.
  2. Make use of a MySQL database. Client use of the web-site should result in additions, modifications, and deletions to the database.
  3. 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.
  4. Consist of source code written in some subset of Java, Javascript, jQuery, PHP, HTML, CSS.
  5. The project should use Ajax to provide for asynchronous page updates.

Other requirements. The project should:

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!

  1. An online auction house or flea market. Something similar in overall concept to ebay or etsy.
  2. 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.
  3. 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:
    1. User-specific login process.
    2. A mechanism for the user to modify shipping information, password, etc.
    3. Memory of previous visits by the user ("on your previous visit you ordered....")
    4. A "shopping cart", where users can indicate which goods they want to purchase.
    5. A "checkout" method, wherein the users can provide credit card and shipping information to purchase the materials in the shopping cart.
    6. A mechanism for browsing the inventory, and for searching the inventory for particular items.
    7. 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.)
  4. 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.
    1. Your system must provide a mechanism for users to form "leagues" (2 to 10 users). The team members in a league must be distinct.
    2. A user might be in more than one league.
    3. 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.
    4. (For purposes of a draft, your site must be able to support simultaneous connection by the league members.)
    5. Users should be able to set their team's batting order and to select which player will field which position.
    6. 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.
    7. 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).
  5. 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.