New site needs to be build, a very simple Web 2.0 site that allows a user to buy a special card to be sent to a friend from them. User will be asked to enter their name, their address, and their email, a message to recipient, recipient’s name, and recipient’s address. User can send one, two or three of these cards to different recipients at the same time. All messages and user/recipient information should be saved in a MySQL database; each recipient should be listed as an individual order. After information has been entered and verified, user should be sent to PayPal to make payment. Once payment is made database should be updated to indicate that payment has been made on corresponding orders. Site should also have admin back-end that shows orders, payments, adjust prices, accounting pages, and allows admin to send automated email to users indicating that their card has been sent. Entire site needs to be created with, object oriented PHP and uses CSS for easy design modification. Main site pages should at least include a main page with area for introduction to site and idea, an order page, feedback page, and a FAQ/about page. Admin pages should include a secure log on page for admin, open orders, paid orders, shipped orders, price adjustment page, and accounting pages.
A more detailed list and description of all pages is shown below.
Main Site Pages Descriptions
Introduction to site and idea:
Simple, but slick layout that will continue throughout the site, colors should be easily changeable with CSS. This main page will basically just be an introduction to what we sell and do. I will input text and images after the site is complete, title area should run across the top like with most sites and site layout should remain constant throughout the site.
Order Page:
User should be able to select to send one, two, or three cards. Prices should be shown upfront when the user makes their selection. Once selection is made the user should then be prompted to enter information for order. Information to be collected includes, Senders Name, Senders Address (Street address, City, State, Zip code), Senders Email, Recipient Name, Recipient Address (Street address, City, State, Zip code), and a Message limited to 160 letters. At this time orders will only be made within the United States so only the 50 states should be included in a drop-down list for states. An AJAX countdown on remaining letters for message is recommended above the message block. When complete the user will hit a button to place the order, at this point all fields need to be check to ensure that they where filled in. If a field has not been filled in the user should be prompted to correct this field. Fields should also be checked for correctness, email addresses should be checked to see if valid, i.e. a @ sign and a dot in them, the messages should be check to ensure that they do not pass 160 letters. Once validated the information to be saved to the MySQL database, an email should be sent to the users asking them to complete their order by making payment at enclosed link, and the user should be sent to PayPal to make payment. Once payment is made the user should be sent back to our site and thanked for making an order and payment. Database should also be updated to show that payment has been made.
Feedback Page:
This page should only be assessable from a link sent from admin page. It should have a few questions asking about the users experience and have the users rate them from 1 to 10, 10 being the best 1 being the worst. All data collected should be linked to an order number and should be saved in a separate MySQL database.
FAQ/about page:
Simple page should just have a spot for FAQs to be added by myself after the site is completed. There will also be an area with contact information so questions can be asked.
Admin Pages Descriptions
Secure Logon Page:
This page should be the gateway to the admin section which will include links to the following pages. User name and password should be entered on this page to gain access to the Admin section. Multiple users should be able to access the Admin section.
Open Orders:
This page should show open orders that have been submitted but have not been paid. Each order should be listed on a separate line, preferably with alternating background colors so it’s easy to distinguish between orders, all information about the order should be shown in easy to read columns. Each order should also include a button to send the users a reminder email with all the information about their order and a link to make payment on their order. Orders should be listed by the time the order was opened.
Paid Orders:
This page should show all orders that have been paid for but have not been marked as shipped. Each order should be listed on a separate line, preferably with alternating background colors so it’s easy to distinguish between orders, all information about the order should be shown in easy to read columns. Each order should also have a button to mark the order as shipped. Orders should be listed by the time payments have been made.
Shipped Orders:
This page should show all orders that have been shipped. Each order should be listed on a separate line, preferably with alternating background colors so it’s easy to distinguish between orders, all information about the order should be shown in easy to read columns. Each order should also have a button to send automated email to user to ask for feedback on their ordering experience. Orders should be listed by the time shipment button was hit.
Price Adjustment Page:
This page should allow the admin to enter product price for sending one, two, or three cards. Price should be allowed to be changed for each day of the week, i.e. Monday, Tuesday, Wednesday…ect.
Accounting Pages:
Simple accounting section, this will be a few different pages, basically a running earnings and expenses for each month and year. A MySQL backed database to track payments and expenses.
First, there should be a page to add expenses and payments not made with PayPal, each addition should include a plus or minus price, description of expense or payment and a date.
Second, any payment throw PayPal should be entered automatically with description of the item, order number, and time paid.
Third, pages for each month and year should be created to view expenses and payments for that month or year. Each expense or payment should be listed on a separate line, preferably with alternating background colors so it’s easy to distinguish between orders, all information about the expense or payment should be shown in easy to read columns. Expenses should appear in red text inside ( ) and payments should appear in black text. Sum of expenses and payments should appear below the last line of the list, with expenses being subtracted and payments being added.
Feedback Viewer Page:
This page should display the database from the feedback's of the users. Each feedback should be listed on a separate line, preferably with alternating background colors so it’s easy to distinguish between feedback's, all information about the order should be shown in easy to read columns. Orders should be listed by the time shipment button was hit.
Bonus Chance:
Create a page with a map of the US that shows dots where the last 100 orders are being sent. Dots only be should just show to the city and state of the order not the full address.