AdD - An Advertising Directory
NOTE: this is the sponsored project for the Software Engineering class. If you are part of the team that decided to work on the sponsored project, then you're in the right place. On the other hand, if you are part of a team that has chosen their own project, then the rest of this page is probably of little interest to you.
2. Acceptance Criteria
This is one of your deliverables for the project. You'll have to work with your customer - that's your instructor for this project - to develop acceptance criteria.
Check here for answers before asking your TA or the teacher.
5. Project Description
Yellow pages refers to a telephone directory of businesses, organized by category, rather than alphabetically by business name and in which advertising is sold. The directories were originally printed on yellow paper, as opposed to white pages for non-commercial listings. The traditional term yellow pages is now also applied to online directories of businesses. -- Wikipedia
An online advertising directory is very much like the yellow pages.
Well, I want to build a better online advertising directory (OAD) so I'm asking you to write the software that allows me to do it.
Each advertiser that wants to be in the AdD can buy one or more listings in the directory. Each listing contains some text that describes what the business is about, an image and a link to the advertiser's website.
Each listing has a price, a start date and an end date.
Listing can be "regular" or "featured": a featured listing can be either "category-featured" or "home-page-featured".
A "category-featured" listing is displayed prominently every time somebody selects the category for viewing. A "home-page-featured" listing will be displayed prominently only on the home page of the directory.
A featured listing is also given more space and a better placement in the page.
If multiple featured listing are found, then they will be displayed based on a system-wide setting that allows the following: random, by advertiser name, most recent first, most profitable first.
A directory user can select a category and view all the listings in that category. If no category is specified, then home-page-featured listings will be displayed.
An administrator can create categories, modify existing ones, or remove them. An administrator can also create and modify listings in the directory and add/modify advertiser information.
When advertisers call with a question about the service, the administrator should be able to look them up by email address, or their last name, or by the name of the business, or by their phone number, or by their Facebook, or Twitter or Linkedin information. If found, then our customer service people should be able to see past listings and active listings.
The other thing that I need is some sense of how we're doing as a business. Here are some of the things I want to know as an administrator:
I assume that end users will access the directory mostly through a smart phone, though some will be using a browser on a desktop/laptop computer. The administrator will be using a desktop/laptop.
Personally I like signinig in using one of my Google accounts, but that's not the only way to authenticate the administrator before they can access their functionality.
One last thing: we'll need to talk about a deployment model that makes sense. Will I need to deploy the software every time I create a new directory? Or maybe the same software could be used to host many directories, each of them independent of others?
Here is a list of possible future enhancements:
$Id: project.html,v 1.1 2016/09/01 16:36:42 virgil Exp $