PHP代写:CS306 Store Application

Introduction

按所给的角色以及数据模型,代写一个网站,随意发挥。

Actors

Identify at least 2 human actors that would use your Website. Example actors would be

  1. Online store application: Sellers, buyers
  2. Online project management: Developers, quality assurance, project managers, business analysts
  3. Online restaurant: Cooks, waiters, delivery, receptionists, manager
  4. Online sports: Team player, coach, director, spectator
  5. Online fishing journal: Fisherman, partner, boat captain
  6. Online university: Students, faculty, staff

If you can only think of a single type of user, then the second actor can simply be an admin actor that can administer all the entities of the Website including other users, domain objects, and all relations. Each actor should have their dedicated user interface, although they might share some common use cases and interfaces.

Required Data Model

Your data model should represent the following entities and relationships

  1. User - allows capturing data such as username, password, date of birth, first name, last name, phone, address, email, and other personal information. There should be at least two types of users
  2. Domain object - represents data for the particular domain you chose, e.g., recipes, sports team, tasks, fishing trips, products, categories, movies, songs. There should be at least two types of domain objects
  3. User to user relationship - capture an association relation between users, e.g., user follows a user, a user sends a message to another user
  4. User to domain object relationship - capture an association relationships between users and a domain objects, e.g., user creates a recipe, user likes a movie, user reviews an article
  5. Domain to domain relationship - represent association relationships between domain objects, e.g., a category has many products, a fishing trip has many fish, a team has many players, a blog has many posts, a portfolio has many stocks
  6. One to many relationships - represent one to many relationships such as fishing trip has many fish, a team has many players, a product has many reviews, a blog post has comments
  7. Many to many relationships - represent many to many relationships such as a student can be in many sections and a section can have many students, a developer can be in a project and a project can have many developers, a user reviews many products and a product is reviewed by many users

Here’s a generic UML diagram capturing the user, domain objects, and several types of relationships. Use this as a guide to create your own data model

Feature Requirements

The following set of features are required. You can provide various features in a single Web page or decide to spread the feature across several pages. You are free to layout the pages and implement navigation any which way you want as long as you implement the features below. Pages must be phone and tablet friendly.

  1. Home page - this will be the landing page of your project. It should look spectacular. I should be proud to share the URL with colleagues. The purpose of the Website should be clear
  2. Login / Register - allow users to register and login. Users should be able to use the Web site without login in. Only when accessing private or sensitive information should the application force users to login. Or if the Web application needs to know the identity of the user to execute an action
  3. Profile - allow users to edit personal information and navigate to objects related to the user, e.g., users they are following, domain objects they are related to, e.g., fishing trips they created, fish they caught, products they bought, sports team they are following, articles they wrote. Profiles can have a public and a private version
  4. Search / Search Results - allow users to search for domain objects. Results are shown as a summarized list. Clicking on a search result navigates to a details page for the domain object
  5. Details Page - shows a detailed view of a domain object including any relationships it has with other objects, e.g., a product shows a detail description, rating, and reviews by users. Clicking on the user that posted the review navigates to that user’s profile
  6. Social Networking - provide social networking features such as discovering other users, following other users, replying to other’s comments, sharing a subset of profile/personal information, inviting other users