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:
- 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.
- 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
|