<%@LANGUAGE="VBSCRIPT" %> <% Response.CacheControl = "no-cache" %>
Project 2

OBJECTIVES

  • Learn about, develop, and implement a Facebook-like website
  • Develop and implement a .NET web application
  • Develop and implement a mobile web application
  • Demonstrate an ability to integrate APIs with the web application
  • Demonstrate proficiency in web usability

ABOVE & BEYOND

  • Add a second API integration
    • Twitter Feed - API integration
      • Create a group Twitter account
      • Every time a post is added or replied to, it should also be tweeted to your Twitter account
      • Use one of these APIs to connect to Twitter: Twitter APIs
    • Google API
      • Google login
      • Google maps
      • etc
    • Instagram
    • Pinterest
    • Yelp


REQUIREMENTS

  • Create a social networking website
    • Use a SQL Server database for management of your data
      • Rather than deleting posts, archive them. Track each instance - provide a list of all posts that can be looked at or even reverted to if necessary.
      • Record IP addresses for each post - each update should tie back to an IP address. If a malicious person enters some inappropriate data, we want a method of tracking them down. Perhaps the HTTP_USER_AGENT would be significant as well, I'll leave that up to you. Track what you can.
         
    • Facebook login - API Integration
      • Use the Facebook API to allow login to your website using a person's Facebook account. You will need to maintain users in your own database and compare the users Facebook login to that of the logins in your database.
      • Facebook app
    • Web Interface
      • No, you cannot use an existing implementation - you must create your own.
      • Provide full functionality via a normal web interface.
      • Any person can come and add a profile and update their pages.
      • Allow uploading of images.
      • Implement Ajax .NET controls wherever possible.
         
      •  
    • Mobile Interface
      • Detect screen sizes and display the page for those devices.
        • Provide an option to view the standard site (always provide this because some people actually want the full site)
      • Viewing
        • Provide a mobile interface for viewing/interacting with the site
           
    • Usability
      • Must be easy to use.
      • Must be able to quickly and easily find what you are looking for
      • Minimize typing when possible. Provide other means for users so they don't have to type.
      • Add Ajax .NET controls wherever possible
      • Your clients may not be technologically savvy, is your solution easy enough for them?
      • Automatically place the IP in text boxes where appropriate (so user does not have to click)
      • Do not have separate pages for 'verification.' This makes extra clicking for the user.
      • Minimize the number of clicks it takes to get what you want. Make navigation easy.
         
    • Aesthetics
      • A level of aesthetics indicative of Seniors in CGT is expected on this project. Poor aesthetics will be rewarded appropriately.
         
    • Create a SQL subdirectory in your project3 folder.
      • You must save the final SQL script (.sql) in the SQL folder.
         
    • Code-Behind
      • All C# should reside in the .cs Code-Behind files.
         
    • Quality Assurance Testing
      • Test your solution. Have friends test your solution. Have more friends test your solution. Then test your solution some more.
      • Try entering special characters or nonsensical data.
      • Try to break it.
         
    • Populate the website with initial data 

DELIVERABLES

You are to deliver the following copies of the project:

  1. One finished copy in your share space on the server. Do not modify the files after the due date/time. We will check the timestamp.
     
  2. As an individual - Each person send me a personal email detailing the workings of your group. Answer these questions: a)Did your group perform well together? b)Did you have any problems with any of the members of your groups? c)Describe how the work load was divided up using percentages (i.e.: "I did 25%, A did 35%, B did..." etc.). d)As individuals, how would you grade yourself and your group members on this one project? e)As a group, how would you grade your group on this one project?
     

GRADING CRITERIA

If the project is not functional (does not work), then your project grade starts at 50%. This is a professional project; our company will not accept partial work. Late work will not be accepted. (In the real world, you would not get paid for a project you did not complete. In our world, you start at 50%)

  • 30% Aesthetics & Usability
    • (Professional, effective and easy navigation, common scheme across entire site, use of images, originality, creativity, usability features, intuitive, user friendly, easy to use, etc.)
  • 55% Coding, Logic, & Functionality
    • (Does not crash, efficiency of code, proper indentation, neatness, free from errors, correct logic, security, follows typical coding standards, apparent planning, .NET coding, Ajax, RSS, etc.)
  • 10% Commenting
    • (In general, one line of comment per line of code)
  • 5% Above & Beyond
    • The minimum requirements for an A on a perfect project are completion of the requirements above. The second version listed under Above & Beyond must be successfully completed in order to achieve 100% on a perfect project.
Total Possible Points: 100