Pro Report PDF
Pro Report PDF
Pro Report PDF
COMPANY INTRODUCTION
When we take charge of a project, we will go into the in-depth understanding of the process of the
business. This helps us in the preparation of the blueprint that has to be followed for the project. At
Rigveda, we will establish the plan only after taking into considerations of the client. It has to suit the
clients’ needs too. We will add value through the proven expertise of our brilliant developers to come
up with a web product that can not only be appropriate but also be more paying for our clients’
business.
2. TOPIC INTRODUCTION
The Yelp Camp project is all about the recreational camping activities done at the various
tourist places. It also allows user to post comment, Feedback as well as the related pictures
of the respective places. It is basically a camping site through one camping that place and
know about the camping place, see the related picture and also sign up to comment and one
can also post the cost queries.
Features
Authentication:
o User login with username and password
o Admin sign-up with admin code
Authorization:
o One cannot manage posts and view user profile without being authenticated
o One cannot edit or delete posts and comments created by other users
o Admin can manage all posts and comments
Manage campground posts with basic functionalities:
o Create, edit and delete posts and comments
o Upload campground photos
o Display campground location on Google Maps
o Search existing campgrounds
Manage user account with basic functionalities:
o Password reset via email confirmation (disabled)
o Profile page setup with sign-up
Flash messages responding to users' interaction with the app
Responsive web design
3. TECHNICAL STANDARDS
3.1 HTML:
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and web
applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad of cornerstone
technologies for the World Wide Web.
Web browsers receive HTML documents from a web server or from local storage and render the
documents into multimedia web pages. HTML describes the structure of a web page semantically and
originally included cues for the appearance of the document.
3.2 CSS:
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a
document written in a markup language like HTML. CSS is a cornerstone technology of the World Wide
Web, alongside HTML and JavaScript.
3.3 Node.js:
As an asynchronous event driven JavaScript runtime, Node is designed to build scalable network
applications. In the following "hello world" example, many connections can be handled concurrently.
Upon each connection the callback is fired, but if there is no work to be done, Node will sleep.
3.4 MongoDB:
Express.js, or simply Express, is a web application framework for Node.js, released as free and open-source
software under the MIT License. It is designed for building web applications and APIs.[3] It has been
called the de facto standard server framework for Node.js.[4]
4.1 INTRODUCTION:
The YELP Camp project is all about the camping activities done at the various tourist
places.
This section highlights the list of steps involved in gathering the requirements.
4.2.1 Functional Requirements: The application provides various camping sites around the world.
4.2.2 Data requirements: This app uses the GPS functionality of devices to gather the
longitude and latitude of the palace and then passes it to the YelpCamp to give camp data of
that information.
A feasibility analysis usually involves a thorough assessment of the operation, financial and
technical aspects of a proposal. Feasibility study is the test of the system proposal made to
identify whether the user needs may be satisfied using the current software and hardware
technologies.
4.4 FIVE AREAS OF PROJECT FEASIBILITY STUDY:
This project is the web application so it requires only web browser environment to run on. The
language which is used in development is Node.js and we take help of Express Framework to
implement the predefined methods so it is understandable by developer therefore we can state that
our project is technically feasible.
As in this project the all resources are open source and user participation is spontaneous, so we can
say that this project is economically feasible.
As this project is is all about the recreational camping activities done at the various tourist places so
it fulfills all the qualities of operational feasibility.
4.5.1 Functional Requirements: This section includes the requirements that specify all the direct
or fundamental requirements of the software system.
4.5.2.1 Performance-
It performed well Google Chrome as it requires low amount of storage and ram. Its performance is
mainly based on the internet connection. If there is fast internet connection then it gives the output
fast otherwise depends on the speed of internet. It gives the currently listed camps on the home.
4.5.2.2 Reliability-
This web app is reliable in nature and it only goes down whenever there is no stable internet
connection.
4.5.2.3 Availability-
This web application is easily available for access on web browsers. It is user friendly in
appearance.
4.5.2.4 Security-
As this web app is developed=keeping various security parameters in mind therefore it secures the
data of the user.
4.5.2.5 Maintainability-
This web app is maintained easily by the single person itself.
4.5.2.6 Portability-
This web app is easily moved to another browser because of the cross browser compatibility code
used, therefore the app is portable.
5.DESIGN
Fig. ER DIAGRAM
6.IMPLEMENTATION
SAMPLE CODE
app =express();
require("connect-flash");
require('passport-local'); varmethodOverride =
require("method-override");
User = require("./models/user");
varseedDB = require("./seeds");
varauthRoute = require("./routes/auth"),
campgroundRoute = require("./routes/campgrounds"),
commentRoute = require("./routes/comments");
mongoose.connect('mongodb://localhost:27017/yelp_camp', {
useNewUrlParser: true });
app.use(bodyParser.urlencoded({extended: true}));
app.set("view engine","ejs"); app.use(express.static(
dirname +"/public"));
app.use(methodOverride("_method"));
app.use(flash());
app.locals.moment = require("moment");
// seedDB();
//PASSPORT CONFIGURATION
app.use(require("express-session")({
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
app.use(function (req,res,next) {
= req.flash("error");
res.locals.success = req.flash("success");
next();
});
// route call
app.use(authRoute);
app.use(campgroundRoute);
app.use(commentRoute);
app.listen(3000,function () { console.log("Yelp
Camp Started!!!");
})
7. TESTING
7.1 INTRODUCTION:
Testing is an activity to check whether the actual results match the expected results and to ensure
that the system is Defect free. It involves execution of a software component or system component
to evaluate one or more properties of interest.
In this project, as this is a mobile application, it needs to be deployed to the iOS platform, so here
testing has been done on simulator and data is compared from the google data.
Software testing methods are traditionally divided into black box testing and white box testing.
These two approaches are used to describe the point of view that a test engineer takes when
designing test cases.
Black box testing treats the software as a "black box"—without any knowledge of internal
implementation. Black box testing methods include: equivalence partitioning, boundary value
analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix, exploratory testing
and specification-based testing.
White box testing is when the tester has access to the internal data structures and algorithms
including the code that implement these.
8. SNAPSHOTS
App - ‘YELP CAMP’ is a really efficient application. The application has a professional look and
feel, and it is also very easy to use as compared to the other applications.
Web app development is a continuous process with many iterations. There is no such thing as a
perfect design and the app has to dynamically be able to change in order to follow the trends,
because the App World is a dynamic world. What is good today, may not be good tomorrow.
Developers have to always keep this in mind if they want their app to succeed in this market, and
although testing is a very important step of this process, so the app is not published with bugs, the
best test they can make to it is to release it. It will reach millions of users throughout the world, all
with different needs and tastes and only then will you have the results that allow you to develop the
app in one or more directions.
9.1.1 Design:
The design has to reflect the quality of those camps because the user has no idea of what the services
can or cannot do. He only knows what he sees and interacts with.
9.1.2 Node.js:
Node is powerful resource helpful in creating web applications with great ease and efficiency. As an
asynchronous event driven JavaScript runtime, Node is designed to build scalable network
applications.
9.1.3 Express:
Light Weight Framework for node which boost the app development process and is very easy to
use.
9.1.4 APIs:
Through this project I get know about APIs and how we can use them in our application. I also learn
how to get the information through APIs and how to link the APIs through its key.
10.REFERENCES
Ethan Brown (2015). “Web Development with Node and Express: Leveraging the JavaScript Stack,
Third Edition”. Packt: O'Reilly.