Pro Report PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

1.

COMPANY INTRODUCTION

Rigveda Software Development Private Limited is a Private incorporated on 17 July 2009. It is


classified as Non-govt. company and is registered at Registrar of Companies, Jaipur. Its authorized
share capital is Rs. 100,000 and its paid up capital is Rs. 100,000.It is involved in Software publishing,
consultancy and supply [Software publishing includes production, supply and documentation of ready-
made (non-customized) software, operating systems software, business & other applications software,
computer games software for all platforms. Consultancy includes providing the best solution in the
form of custom software after analyzing the user’s needs and problems. Custom software also includes
made-to-order software based on orders from specific users. Also, included are writing of software of
any kind following directives of the users; software maintenance, web-page design.
Directors of Rigveda Software Development Private Limited are Nirmala Chaplot, Devkarn Singh
Rathore and Vivek Chaplot.

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:

Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript


code outside of a browser, Node.js lets developers use JavaScript to write Command Line tools and for
server-side scripting—running scripts server-side to produce dynamic web page content before the page
is sent to the user's web browser.

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:

MongoDB is a free and open-source cross-platform document-oriented database program.


Classified as a NoSQL database program, MongoDB uses JSON-like documents with
schemata. MongoDB is developed by MongoDB Inc., and is published under a combination of
the GNU Affero General Public License and the Apache License.

3.5 Express Framework:

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]

The original author, TJ Holowaychuk, described it as a Sinatra-inspired server, meaning that it is


relatively minimal with many features available as plugins. Express is the backend part of the MEAN
stack, together with MongoDB database and AngularJS frontend framework
4. ANALYSIS

4.1 INTRODUCTION:

The YELP Camp project is all about the camping activities done at the various tourist
places.

4.2 REQUIREMENT GATHERING:

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.

4.2.3 Environmental requirements:


a. Used for exploring camp sites
b. Simple usage and interactive UI
c. It will run on Node.js & MongoDB

4.2.4 User Requirements:


a. Campers can post the camp site they recently visited.
b. People can explore various camp sites and get to know more about them.

4.2.5 Usability Requirement:


Web Application requires constant Internet connection and a Mobile Phone or PC.

4.3 FEASIBILTY STUDY

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:

4.4.1 Technical Feasibility:

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.

4.4.2 Economic Feasibility:

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.

4.4.3 Operational Feasibility:

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.4.4 Legal Feasibility:

My project fulfills all the legal documentation so it is legally feasible in nature.

4.4.5 Scheduling Feasibility:

This project is completed within my training period so it is completed in scheduled time so it is


feasible on time.

4.5 REQUIREMENT DEFINITION:

This section includes the requirements:-

4.5.1 Functional Requirements: This section includes the requirements that specify all the direct
or fundamental requirements of the software system.

4.5.1.1 Admin case study-


As in this application we have a provision of creating an admin account, so the admin can take
control of all the data about location and give outputs to the user.
4.5.1.2 Customer use case-
The user only has control on their internet and GPS connection. Users just need to enter the camp
data for posting it.
4.5.2 Non-Functional Requirements: A user must have the web browser and internet connection.

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

5.1 DATA FLOW DIAGRAM

Fig1. Zero Level DFD


Fig2. One Level DFD
5.2 ENTITY – RELATIONSHIP DIAGRAM

Fig. ER DIAGRAM
6.IMPLEMENTATION

SAMPLE CODE

var express = require("express"); var

app =express();

varbodyParser = require("body-parser"); var

mongoose = require("mongoose"); var flash =

require("connect-flash");

var passport = require("passport"); varLocalStrategy =

require('passport-local'); varmethodOverride =

require("method-override");

var Campground = require("./models/campground"); var

User = require("./models/user");

varseedDB = require("./seeds");

var Comment = require("./models/comments");

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")({

secret: "This is the Luna Lovegoood!!!",

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) {

res.locals.currentUser = req.user; res.locals.error

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

7.2 TESTING METHODS:

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.

7.2.1 Black Box Testing:

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.

7.2.2 White Box 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

8.1 LANDING PAGE:

8.2 HOME PAGE:


8.3 SIGNUP PAGE:

8.4 DETAILED VIEW PAGE:


8.5 COMMENT PAGE:

8.6 ADD CAMP PAGE:


9.CONCLUSION

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 Things Learned:

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

David Herron(2014). “Node Web Development, Second Edition”. Packt: O'Reilly.

Ethan Brown (2015). “Web Development with Node and Express: Leveraging the JavaScript Stack,
Third Edition”. Packt: O'Reilly.

You might also like