SRS - Mits10/School_Management_System_Php_Html_Css_JavaScript_From_Scratch GitHub Wiki
BonFyr: Software Requirements Specification
- Revision History Contents
- 1 Introduction
- 1.1 Purpose
- 1.2 Intended Audience
- 1.3 Intended Use
- 1.4 Product Scope
- 1.5 Risk Definition
- 2 Overall Description
- 2.1 User Classes and Characteristics
- 2.2 User Needs
- 2.3 Operating Environment
- 2.4 Constraints
- 2.5 Assumptions
- 3 Requirements
- 3.1 Functional Requirements
- 3.1.1 Feature: Create Account
- 3.1.2 Feature: Create, Edit and Delete Camp page
- 3.1.3 Feature: View Camp Demographic and Weather Information
- 3.1.4 Feature: Search Campground
- 3.1.5 Feature: Review/Rate Campground
- 3.1.6 Feature: Add Campground to wish-list
- 3.1.7 Feature: Follow Camper
- 3.1.8 Feature: Sending Email to a Camper
- 3.2 Non Functional Requirements
- 3.1 Functional Requirements
- Appendices
- A Glossary
Revision History
Revision Date Author(s) Description
Chapter 1: Introduction
1.1 Purpose
The purpose of the document is to address the requirements behind building the targeted software; In this case, a web application which acts as a hub for campgrounds around the world and lets users review, acquire information about campgrounds and interact with each other.
1.2 Intended Audience
The document is intended for software developers, project manager and the client.
1.3 Intended Use
To developers, the Software Requirements Specification provides concise insight into what exactly is expected as an end-product. For project manager and client, this document provides mutual agreement and understanding as to what the product should comprise.
1.4 Product Scope
This Campsite Web Application has been built to easily find the campsites in Bangladesh. It will give a platform to the campers and all other users to find a better place easily. Users have the scope to create their experiences and share it so that all other users can find a suitable campsite with every details like locations and experiences. The application can be accessed through a web browser from any device – a computer or mobile. Users can create profile with a minimum requirements for being a camper and share their experiences and explore others. And the administration will control and manage every data of the web app and all other users. The application needs an Internet and GPS connection for accessing the app and also find the location on map. Thus users can find the location as well as all the details about campsites including costs. Campers can find other campers there and meet new people. Campers also can review and rate the camps so that people can get a clear view.
1.5 Risk Definition
This web app is going to be a better platform for so many campers in Bangladesh who love camping. But there are always risks to build this kind of app where so many features are being used. Technical issues can be faced. As a team project, there can be faced back-end development issues while making a certain standard for working.
Chapter 2: Overall Description
2.1 User Classes and Characteristics
Primary User: General public Secondary User: Admin
2.2 User Needs
Primary User Needs: The Campsite Web App will allow primary users to discover campsites in Bangladesh. Most campers or adventurers in the country struggle to find an ideal camping site, as this requires subscribing to various social media pages and surfing through different opinions in order to find an ideal campsite. Campers need to get acquainted with other campers with similar interest. The camping web application provides a platform for camping-interested people who can acquire all the necessary information about a camp, discover campers with similar interests, and introduce sites of their own. Secondary User Needs: In case of an error or handling of anomalies, Admins need to check the error from a primary user’s perspective, and need to be able to have write properties over any posts.
2.3 Operating Environment
The server side components of the software system must operate within a cloud-based system. The client- side components of the software system must operate within common webbrowser environments using Secure Sockets Layer (SSL) / Transport Layer Security (TLS) cryptographic protocols at a minimum encryption level of 128 bits. The minimum set of browsers that must be supported is:
- Apple Safari 7+
- Google Chrome 44+
- Microsoft Internet Explorer 10+
- Mozilla Firefox 40+
2.4 Constraints
- Due to its duration of completion restricted to 3.5 months, advanced booking features are absent.
- Paid services such as Google Map features are absent due to low investment.
2.5 Assumptions
- Users use the app using a smart phone or any device with a web browser.
- Users understand English.
- Users have an internet connection.
Chapter 3: Requirements
3.1 Functional Requirements
3.1.1 Feature: Create Account
As a camper, I need to create a user account so that I can review, add, delete, edit or post campgrounds.
- A user must add email, password and a username to create an account.
- A user cannot create multiple accounts under the same email or username.
- Password should have a minimum length of six characters.
- Optional fields are first name, last name and avatar url.
Confirmation
- From “Campgrounds” page, click on ‘Sign up’.
- A Sign-up form will appear.
- Fill in the necessary fields.
- 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.
- Avatar URL can be left empty.
- Click on "Submit".
- System redirects to “Campgrounds” page with flash message “Welcome to BonFyr, User”.
- 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”.
- 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.
3.1.2 Feature: Create, Edit and Delete Camp page
As a camper, I need to create, edit and delete campgrounds, so that I can create, update and remove information about a campsite as necessary and other users can easily get those information.
- The camp page will have a camp picture, all the information about the campsite with location, pricing details, review/rating and authors name.
- The camp page must have editing option for updating the latest information.
- There will be a delete option in case the camp is no longer available.
- Other users can comment on the camp pages.
Confirmation
- Click on ‘Create Camp’ in Campgrounds page/click on "Edit Camp" in a Campground page.
- If user is not signed in, any of these actions will redirect to Sign in page with flash message "You need to be signed in to create/edit a campground.".
- System redirects to Create/Edit Campground page which consists of a form.
- In case of editing camps, the edit form will already have its fields filled with existing values.
- Fill up or edit form.
- Click on Submit.
- Leaving the name, image or description empty while submitting the form will prompt the user to fill up the fields.
- System will redirect to the created/edited Campground page with flash message "Campground Created Successfully"/"Campground updated successfully". - 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”.
3.1.3 Feature: View Camp Demographic and Weather Information
As a camper, I need to visit a camp’s page and view its price, location, description and weather information, so that I can decide if the camp would be an ideal choice for me.
- Demographic Information includes a camp’s pictures, description, price, location and its author’s profile link.
- Weather condition includes temperature, wind speed and climate of the camp.
- Temperature should be in degree Celsius, and wind speed in "km/hr"
- Price should be in BDT format
- A user does not need to be signed in to view information about camps
Confirmation
- From Home page, click on "View Our Campgrounds".
- System redirects to "Campgrounds" page.
- From "Campgrounds" page, click on a camp’s link to go to its page.
(a) Click on "More Info" in any of the showcased campgrounds to see if it leads to the page of the
camp.
(b) Search for a camp and then click on "More Info" in of the resulted campgrounds to see if it redirects
to the page of the camp.
(c) As a logged in user, if you have added campgrounds of your own, navigate to your profile and click
on any of the campgrounds listed under "My Campgrounds" to see if it leads to the camp’s page.
- User can see weather conditions, description, price and location in the camp’s page.
(a) From the camp’s page, click on the author’s profile link.
(b) Click on one of the campground’s link under "Author’s Campgrounds" to see if it leads to the
camp’s page.
3.1.4 Feature: Search Campground
As a camper, I need to search camp pages and campsites, so that I can find an ideal campsite.
- The search bar will allow the user to search by location, camp page name or user profile name.
- Search bar will be present in the Campgrounds page only.
Confirmation
- Type in a proper location or name in the search bar and click ‘Search’.
- System redirects to "Campgrounds" page with filtered results.
3.1.5 Feature: Review/Rate Campground
As a camper, I need to rate camp campsites, so that other campers can know if the camp’s provision and accommodation is up to the mark.
- Only registered users can review or rate a camp.
- Whenever a camper review or rate the camp, the user will get an in app notification.
- The option to review will only appear in the camp’s profile.
Confirmation
- Navigate to a Campground page.
- Click on the review/rate button.
- If the user(follower) is not registered, this will lead to the Sign In form with the flash message “You can review or rate only if you are signed in.”
- Form with text field and star rating field appears.
- Fill up any of the fields or both and click "Submit"
- Leaving both fields empty and pressing "Submit" should prompt the user to fill up at least one field.
- System redirects to the Campground page with flash message "You have reviewed the camp successfully"
- 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”.
3.1.6 Feature: Add Campground to wish-list
As a camper, I need to add campgrounds to wish list, so that I can navigate to desired campground pages easily later whenever I need to.
- Only registered campers can add camps to wish-list.
- The option will be available in a Campground page.
Confirmation
- Navigate to a Campground page.
- Click on "Add to wish-list" button.
- If the user(follower) is not registered, this will lead to the Sign In form with the flash message “You can add camp to wish-list only if you are signed in.”
- “Add to wish list” button turns to “added to wish list”
- 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”.
3.1.7 Feature: Follow Camper
As a camper, I need to follow another camper(s) so that I can get notified when the camper posts another campground.
- Only a registered user can follow another camper.
- A camper can only be followed if the camper is registered.
- Whenever a camper the user follows adds a new camp, the user will get an in app notification.
- The option to follow will only appear in the followed camper’s profile.
Confirmation
- Navigate to a Campground page.
- Click on the author’s profile link under “Submitted by”
- Author’s profile page opens.
- Click on “Follow Camper”.
- 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”. Option to follow still available.
- “Follow” button turns to “Following” and flash message saying “You are now following User”..
- User will receive a new notification if followed camper posts a new campground.
3.1.8 Feature: Sending Email to a Camper
As a camper, I need to send email to another camper so that I can arrange a booking or gain more information about desired camp.
- Only registered users can send mails to campers.
- Option to send mail will only be available in a recipient camper’s profile.
Confirmation
- Prerequisite: User must be logged in.
- If user is not logged in, step 4 mentioned in confirmation should redirect the user to the login page with the flash message "You need to be logged in to send mail to a camper.".
- Navigate to a Campground page.
- Click on the author’s profile link next to "Submitted by".
- System redirects to author’s profile page.
- Click on "Mail Camper" link/button.
- "Send Mail" page opens with a form for submitting mail.
- The form contains a text field and a "Send" button.
- Fill up the text field and click on "Send".
- Clicking the "Send" button without filling up the form should notify the user to fill up the text area.
- System redirects to author’s profile with flash message "Mail sent successfully."
- Any network or unidentified error should redirect the user to author’s profile page with flash message "There was a problem sending the mail. Please try again."
3.2 Non Functional Requirements
- Under no circumstances can a non-registered user have access to a camper’s email for privacy and safety concerns.
- The app needs to be responsive across multiple platforms such as mobile phone, iPad and Laptop screens
- Positive flash messages should be green while negative flash messages will be red.
Appendices
Appendix A