Use Case - Mits10/School_Management_System_Php_Html_Css_JavaScript_From_Scratch GitHub Wiki
Use Case: View Student and Faculty's Information.
Actors: Teacher,Student
Scope: A software system
Purpose: A camper needs to visit a camp’s page and view its price, location, description and weather information, so that he/she can decide if the camp would be an ideal choice.
Type: Primary
Overview: After navigating to a Campground page, camper is able to see demographic information about the campground.
Typical course of events:
| Actor Action | System Response | 
|---|---|
| 1. From Homepage, click on "View our Campgrounds" button. | 2. System redirects to the "Campgrounds page". | 
| 3. Camper clicks on "More Info" button in the desired Campground thumbnail. | 4. System redirects to the Campground's page. | 
| 5. Camper can see demographic information such as address, price, description and author's name. | 
Alternative Courses:
3a. Camper searches for a camp and then clicks on "More Info" in of the resulted campgrounds to see if it redirects to the page of the camp.
3b. As a logged in user, if camper has added campgrounds of his/her own, camper navigates to his/her profile and clicks on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.
Exceptions:
- Network error fails to load campground page.
- Campground deleted before its page loads.
Pre-condition:
Camper is in the Homepage.
Post-conditions:
- Successful: Demographic Information can be seen in the specific Campground page.
- Unsuccessful: Redirect to campgrounds page with flash error message.
Use Case: Add Class/Remove Class.
Actors: Student
Scope: Software system
Purpose: A student needs to add or remove a class that wants to attend.
Type: Primary
Overview: After navigating to the student dashboard, a student can add or remove the class they want.
Typical course of events:
| Actor Action | System Response | 
|---|---|
| 1. The student navigates to the student dashboard. | |
| 2. Student clicks on the Available Course list next to "Personal Information". | 3. The system redirects to the Course List page. | 
| 3. Student clicks on "Add Course" link/button. | 4. System redirects to the "Course List" page with a pop up saying "The course has been added". | 
| 5. Student add next courses. | 
Alternative Courses:
Exceptions:
- Network error..
- Sender Camper not logged in.
Pre-condition:
Camper is logged in.
Post-conditions:
- Successful: System redirects to author’s profile with flash message "Mail sent successfully."
- Unsuccessful: System redirects to login page/author’s profile with flash message "You need to be logged in to send mail to a camper"/"Unidentified error. Please try again."
Use case name: Create class & Delete class.
Actor: Teacher.
Scope: Software System.
Purpose: A teacher needs to create a course in which place he wants to teach.
Type: Primary.
Overview: After navigating to the profile or homepage, the teacher can choose the create course option to create a course.
Typical course event:
| Actor’s Action | System Response | 
|---|---|
| 1. Actor selects the option ‘create course’. | |
| 2. System gives the place to write information. | |
| 3. Actor enters all the required information. | |
| 4. Actor saves the information. | |
| 5. System adds the information to the database. | |
| 6. System gives confirmation to the actor. | |
| 7. Actor receives confirmation and the course is created. | 
Exception:
User not logged in or network error.
Pre-condition:
User is in the user home page or profile page.
Post-condition:
- Successful: Redirect to the specific user profile page with a success flash message.
- Unsuccessful: Redirect with an error flash message.
- Exception: Stays on the same page.
Use case name: Edit camp.
Actor: Camper (User).
Scope: Software System.
Purpose: A camper needs to edit the camp page that he created whenever he wants and whenever he needs to update the information about the campground.
Type: Primary.
Overview: After navigating to the camp page that user has created, he can choose the edit camp option to edit the camp page.
Typical course event:
| Actor’s Action | System Response | 
|---|---|
| 1. Actor selects the option ‘edit camp’. | |
| 2. System displays information. | |
| 3. Actor updates all the information. | |
| 4. Actor saves the information. | |
| 5. System updates the information in the database. | |
| 6. System gives confirmation to the actor and shows the updated information. | |
| 7. Actor receives updated information. | 
Exception:
User not logged in or network error.
Pre-condition:
User is logged in and in his created camp page.
Post-condition:
- Successful: Redirect to the specific campground page with a success flash message.
- Unsuccessful: Redirect with an error flash message.
- Exception: Stays on the same page.
Use case name: Delete camp.
Actor: Camper (User).
Scope: Software System.
Purpose: A camper needs to delete the camp page whenever he wants to if the campground is not available anymore.
Type: Primary.
Overview: After navigating to the camp page that user has created, he can choose the delete option to delete the campground page.
Typical course of events:
| Actor’s Action | System Response | 
|---|---|
| 1. Actor selects the option ‘delete camp’. | |
| 2. System asks for the confirmation. | |
| 3. Actor selects the affirmative action and gives the confirmation to the system. | |
| 4. System validates the action and clear the information from the database. | |
| 5. Actor receives confirmation. | 
Exception:
User not logged in or network error.
Pre-condition:
User is logged in and in his created camp page.
Post-condition:
- Successful: Redirect to the specific campground page with a success flash message.
- Unsuccessful: Redirect with an error flash message.
- Exception: Stays on the same page.
Use case name: Search camp.
Actor: Camper (User).
Scope: Software System.
Purpose: A camper needs to search the campground page in order to visit the page and get all the information he needs to know.
Type: Primary.
Overview: After navigating to the homepage, camper can write in to the search bar to search for different camp pages.
Typical course of events:
| Actor’s Action | System Response | 
|---|---|
| 1. Actor writes the camp name in the search bar option. | |
| 2. Actor selects the ‘search’ option to proceed with the search. | |
| 3. System shows camp names as required. | |
| 4. Actor selects the camp name as he searches. | |
| 5. System takes the actor to the camp page as he searched. | |
| 6. Actor receives the camp page as he searches. | 
Exception:
Network error.
Pre-condition:
User is logged in and in the campground page or in his profile.
Post-condition:
- Successful: Redirect to the specific campground page with a success flash message.
- Unsuccessful: Redirect with an error flash message.
- Exception: Stays on the same page.
Use case: Create account
Actors: Camper
Scope: Software system
Purpose: A camper needs to visit Campgrounds page to create an account to review, add, delete, edit or post campgrounds.
Type: Primary
Overview: After navigating to the Campgrounds page, camper can create an account.
Typical course of events:
| Actor Action | System Response | 
|---|---|
| 1. Camper goes to the “Campgrounds” page and clicks on "signup" button. | 2. System shows a sign-up form. | 
| 3. Camper fills up the required fields. | |
| 4. Camper clicks on “submit” button. | 5. System redirects to “Campgrounds” page with flash message “Welcome to BonFyr, User”. | 
Exceptions:
- 
Network error. 
- 
Camper doesn’t fill all the required fields. 
- 
Camper sets a password that’s not six-character long. 
Pre-conditions:
- 
Camper is in the “Campgrounds” page. 
- 
Camper has a valid E-mail account. 
Post-conditions:
Successful:
- 
Camper is redirected to “Campgrounds” page with flash message “Welcome to BonFyr, User”. 
- 
Once registered, link to the camper’s profile will appear on the right side of the top navigation bar in the form of the camper’s username. 
Unsuccessful:
- 
Omitting any required fields and clicking on “Submit” will invoke “Field required” messages under required field(s). 
- 
Entering an invalid email and clicking “Submit” will notify the user to type in a valid email through a similar form of message. 
- 
Any network or unidentified error will redirect the user to the sign-up form with the flash message “An unexpected error occurred. Please try again”. 
Use case: Follow a camper
Actors: Camper
Scope: Software system
Purpose: A camper needs to follow another camper(s) to get notified when the camper posts another campground.
Type: Primary
Overview: After navigating to the author’s profile, a camper can choose to follow the author.
Typical course of events:
| Actor Action | System Response | 
|---|---|
| 1. Camper navigate to a Campground page and clicks on the author’s profile link under “Submitted by”. | 2. System opens author’s profile page. | 
| 3. Camper clicks on “Follow camper” button. | 4. System turns the “follow” button to “Following” and shows a flash message saying “You are now following User”. | 
Exceptions:
- 
User isn’t registered. 
- 
Network error. 
Pre-conditions:
- User needs to be registered.
Post-conditions:
Successful:
- 
Follow” button turns to “Following” and flash message appears saying “You are now following User”. 
- 
User receives a new notification if followed camper posts a new campground. 
Unsuccessful:
- 
If the user(follower) is not registered, this will lead to the Sign In form with the flash message “You can follow a camper only if you are signed in.” 
- 
If there is a network or unidentified error, the system redirects to the same page with the flash message “An unexpected error occurred. Try again”. 
Use Case: Review or Rate Camp.
Actors: Camper
Scope: Software system
Purpose: A camper needs to visit a camp’s page and view its rating and review, so that he/she can decide if the camp would be an ideal choice.
Type: Primary
Overview: Review or Rate camp is the user based feature where one user can Share their experience also give a rating of it
Typical course of events:
| Actor Action | System Response | 
|---|---|
| 1. From Homepage, click on "View our Campgrounds" button. | 2. System redirects to the "Campgrounds page". | 
| 3. Camper clicks on "review" button in the desired Campground thumbnail. | 4. System redirects to the Campground's review comment box. | 
| 5. Camper can see writing box and enter button to submit the review | 
Alternative Courses:
3a. Camper searches for a camp and then clicks on "More Info" in of the resulted campgrounds to see if it redirects to the page of the camp.
3b. As a logged in user, if camper has added campgrounds of his/her own, camper navigates to his/her profile and clicks on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.
Exceptions:
- Network error fails to load campground page.
- Campground deleted before its page loads. *Camper previously did not visit this camp
Pre-condition:
Camper is in the Homepage.
Post-conditions:
- Successful: Successfully submitted the review.
- Unsuccessful: Redirect to campgrounds page with flash error message.
Use Case: Add Camp to Wishlist
Actors: Camper
Scope: Software system
Purpose: A camper can have their own personal camp to follow and a saved linked of them to find it easily
Type: Primary
Overview: This feature will allow user to add a camp in his personal wishlist that he she wants to visit later
Typical course of events:
| Actor Action | System Response | 
|---|---|
| 1. From Homepage, click on "View our Campgrounds" button. | 2. System redirects to the "Campgrounds page". | 
| 3. Camper clicks on "Add to wishlist" button in the desired Campground thumbnail. | 4. System redirects to the Campground's page. | 
| 5. Camper can see the button is now showing added to list | 
Alternative Courses:
3a. Camper searches for a camp and then clicks on "More Info" in of the resulted campgrounds to see if it redirects to the page of the camp.
3b. As a logged in user, if camper has added campgrounds of his/her own, camper navigates to his/her profile and clicks on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.
Exceptions:
- Network error fails to load campground page.
- Campground deleted before its page loads.
Pre-condition:
Camper is in the Homepage.
Post-conditions:
- Successful: Add to wishlist.
- Unsuccessful: Redirect to campgrounds page with flash error message.