You are on page 1of 30

SYNOPSIS

ON
PROCODER.COM
Submitted in the partial fulfillment of the
requirements for qualifying
Bachelor of Computer Application
[2015-2018]

INDIRA GANDHI NATIONAL OPEN


UNIVERSITY
UNDER THE GUIDANCE OF
Mr. Nikhil Jain

SUBMITTED BY
BRIJ KUMAR PAL (155431856)
PROJECT SUBMITTED BY:

NAME: BRIJ KUMAR PAL

COURSE: BCA

ENROLLMENT NUMBER: 155431856

MOBILE NO: 8586806749


ACKNOWLEDGEMENT

I take this opportunity to thank our teachers and friends


who helped me throughout the project.

First and foremost I would like to thank my guide for the


project Mr. Nikhil Jain for his valuable advice and time
during development of project.

I would also like to thank Ms. Madhavi Tripathi (Lecturer,


IT Department) for her constant support during the
development of the project.
TABLE OF CONTENTS

1. TITLE OF THE PROJECT


2. INTRODUCTION
3. OBJECTIVE
4. PURPOSE OF THE PROJECT
5. METHODOLOGY USED
6. SYSTEM ANALYSIS
7. TOOLS/PLATFORM, HARDWARE AND SOFTWARE
REQUIREMENT SPECIFICATION
8. COMPLETE STRUCTURE
9. SECURITY AND VALIDATION CHECKS
10. SCREEN LAYOUTS
11. SCOPE OF FUTURE APPLICATION
12. BIBLIOGRAPHY
TITLE OF THE PROJECT

PROCODER.COM
INTRODUCTION

This project is aimed to provide a platform for


coders to share their codes. Here coders use our
website to share their codes and any other user can
watch his/her code. First user needs to sign up with
their details like name, D.O.B, email id, password
and gender. They first need to verify their email id
by clicking on the link send to them. After verifying
they can upload their codes or can see other user’s
codes for free. They can even save other user’s
codes to see them later. They can change their
settings or delete their account at any time.
ProCoder is an application for professional coders
so that they can upload their highly compressed
codes for open source community.
OBJECTIVE

Today coding is very important in everyone’s


life. Once said “Everybody in this country should learn to
program a computer, because it teaches you how to
think” by Steve Jobs. It’s a challenging mission in coder’s
life to solve given problem as compressed as possible.
For community, coders will to share their compressed
codes with other people so we provide a platform for
coders to do so. We developed a web application where
an individual can sign up and share their codes.
PURPOSE OF THE PROJECT

This project will provide a platform for coders to


contribute in an open source community by sharing
their ideas and codes. Basically this application is for
professional coders who want to share their
compressed codes to other coders for the
community. Amateur coders can read their codes
for motivation and other purposes.
METHODOLOGY USED

This Project is coupled with material on how to use


the various tool, sub sets available in JSP, SERVLETS
and SQL.

The need of today’s software development is


competence in a GUI based front-end tool, which
can connect to Relational Database engines. This
gives the programmer the opportunity to develop
client server based web applications.

These applications give users the power and ease of


a GUI with the multi user capabilities of Novell,
UNIX or WinNT based RDBMS engines such as
POSTGRESQL.
SYSTEM ANALYSIS

PRINCIPLES:

1. Understand the problem before you begin to


create the analysis model.

2. Develop prototypes that enable a user to


understand how human machine interaction will
occur.

3. Record the origin of and the reason for every


requirement.

4. Use multiple views of requirements like building


data, function and behavioral models.

5. Work to eliminate ambiguity.

Before designing any system it is important that the


nature of the business and the way it currently
operates are clearly understood. The detailed
examination provides the specific data required
during designing in order to ensure that all the
client's requirements are fulfilled. The investigation
or the study conducted during the analysis phase is
largely based on the feasibility study. Rather it would
not be wrong to say that the analysis and feasibility
phases overlap. High-level analysis begins during
the feasibility study. Though analysis is represented
as one phase of the system development life cycle
(SDLC), this is not true. Analysis begins with system
initialization and continues until its maintenance.

Even after successful implementation of the system,


analysis may play its role for periodic maintenance
and up gradation of the system.
One of the main causes of project failures is
inadequate understanding, and one of the main
causes of inadequate understanding of the
requirements is the poor planning of system
analysis.

Analysis requires us to recall the objectives of the


project and consider following three questions:
• What type of information is required?
• What are the constraints on the investigation?
• What are the potential problems that may make the
task more difficult?
TOOLS/PLATFORM,SOFTWARE,HARDWARE
REQUIREMENT SPECIFICATION
HARDWARE:
Processor: Pentium 2.4 GHz or above

Memory: 256 MB RAM or above

Cache Memory: 128 KB or above

Hard Disk: 3 GB or above [at least 3 MB free space


required]

SOFTWARE:
Operating System: Windows 10

Font-End Tool: HTML5, CSS3, JavaScript

Back-End: Java 8, JSP, Servlet

Server: Apache Tomcat v7.0

IDE: Eclipse Oxygen

Database: Postgresql
COMPLETE STRUCTURE
The limited time and resources have restricted us to
incorporate, in this project, only
the main activities that are performed in social
networking sites, but utmost care has been taken to
make the system efficient and user friendly.

For the optimum use of practical time it is necessary


that every session is planned.
Planning of this project will include the following
things:

1. Modular Break – Up of the System.


2. Database Requirements according to the
modules
3. Processor Logic for Each Module.

1. Modular Break –Up of the System:


 Identify the Various Modules in the
System.
 List Them In The Right Hierarchy.
 Identify Their Priority Of Development
 Description of the Modules.
Module 1: Login Module
In this module, this website is for multiple users. If a
User enters an email id and a password and the
software checks its validity. This module is used in
login, updation, signup etc. If the email and
password are valid corresponding to each other then
the user will be accessed to share his/her codes,
otherwise “Invalid Email/Password” message is
displayed. There is an option for password recovery,
log out, login, new users sign in.

Module 2: Signup Module


In this module, whenever a new entity is required to
be added the corresponding forms are opened and
the database is manipulated to check whether the
data is already existing or not. If it already exists,
then it prompts that “Entry already existing” and if
not than the data is entered with the various
validation checks.

Module 3: Modifying / Updating Existing Entities


In this module, whenever an existing entity is
required to be modified the corresponding forms are
opened and the database is manipulated and the
data is fetched. Now the user can made the required
changes and then accordingly, he/she updates the
data. Again, the checks are followed in case there is
any invalid entry.
Module 4: Validation of Data Entered by the User
& Error handling
In this module, the validity of data entered by the
user during the various processes is checked
through various validation checks. For example,
there should not be any characters entered in the
numeric fields, likewise if there is any error occurs
than it should handle that particular error and give
the required messages.

Module 5: Feedback
This module keeps track of all the feedbacks given
by the users for future records.

Module 6: Upload Post


Uploads the post in the database which are
uploaded by the user and show them to other users
being latest one on the top.

Module 7: Save Posts


This module keeps the track of all the posts which
are saved by the users with the relation of post id
and user id.
ProCoder

.settings build src WebContent .classpath .project

classes beans images META-INF WEB-INF

BO MANIFEST.MF lib

DAO web.xml

servlet

util

.settings: Settings for IDE (Eclipse)


build: Contains the machine code of the project.
src: Contains the source Code of the Project
beans: Contains the different beans to store
the data in objects.
bo (Business Object): Contains the classes
which contains business logic.
dao (Database Access Object): Contains the
classes which interact with the database.
servlet: Contains the servlets.
util: Contains the utilities for different purposes
like encryption, sending mail, etc.
WebContent: Contains the JSP files and other front-
end files.
Images: Contains the images used in project.
META-INF: Contains the manifest file.
WEB-INF: Contains the libraries, web.xml and
some .tld files.
2. Database Requirements according to the
modules:

 Identify The Various Tables Required.


 Fields for these Tables.
 The various key fields (for example Primary key
and Foreign key)
 Identify the various Constraints like Not Null,
unique, etc.

TABLES:

Table 1 : user_details
Field Name Data Type Constraints
fname Character varying Not Null
lname Character varying Not Null
email Character varying Not Null, Primary Key
Password Character varying Not Null
Gender Character varying Not Null
DOB Character varying Not Null
Ver_status Boolean Not Null
Uid Character varying -
Last_seen Character varying -
Table 2: email_link
Field Name Data Type Constraints
Email Character varying Not Null, Primary Key
url Character varying Not Null
S_date Character varying -

Table 3: posts
Field Name Data Type Constraints
Pid Character varying Not Null, Primary Key
Uid Character varying Not Null, Foreign Key
Title Character varying -
Post Character varying Not Null
Date Character varying Not Null
Time Character varying Not Null

Table 4: saved_posts
Field Name Data Type Constraints
Pid Character varying Foreign Key
Saved_by Character varying Foreign Key

Table 5:
email_forgpass
Field Name Data Type Constraints
Email Character varying Not Null, Primary Key,
Foreign Key
url Character varying Not Null
ER DIAGRAM
CONTEXT LEVEL DFD:

Level 2 DFD:
3. Process Logic for Each Module:

In the first module: validity of password is checked


against particular user.

In the second module: whenever new user signup


then it should check for the duplicate data.

In the third module: just like the second module it


should modify the data and check for duplicate data.

In the fourth module: just like the first module it


should check for the valid data and entities.

In the fifth module: feedback will be taken from the


user and could be read from the database.

In the sixth module: user’s uploaded post will be


taken and be uploaded on database.

In the seventh module: whenever user save and post


it should be saved in his/her “saved posts” section.
Number of main functions used in this
project

1. Function getLoginData(): This function takes the


user login data and check for the validation of
password for corresponding email.
2. Function validateUser(): This function takes the
user signup data and check if it already exists or
not. If not then it encrypts the password entered
by the user and upload every details into
database.
3. Function postData(): This function takes the data
of a post and email to upload it into database. It
also generates the post id.
4. Function getForgPassDetails(): This function takes
the user’s email and generates a random link
which is send to user’s email id to reset his/her
password.
5. Function changePassOut(): This function allows
the user to change his/her password without
login.
6. Function changePassIn(): This function allows user
to change his/her password after login from user
settings.
SECURITY AND VALIDATION CHECKS
In this Project we have following validation checks.

 While entering the data into the form it will check


for the email field to be a proper email address
format and for other fields to not to be null.
 Whenever new user enters his/her data, it will
automatically check the details from the database
tables and also generate the user id automatically as
soon as user verifies himself/herself.
 Similarly in the post table post id will generate
automatically.
 Entered text/number should not exceed the limit.
 Almost for all fields we have used the validation for
example if name of the user represents text type
then it will check for the string and if the data is
numeric then it will not allow the user to submit
his/her data.
SCREEN LAYOUTS
SCOPE OF FUTURE APPLICATION

This website will be developed for the online users to get


in touch with an open source community for coding.
Utmost care and back-up procedures must be
established to ensure 100% successful implementation of
the online posts uploaded and the data of users. In case
of System Failure, the organization should be in a
position to process the transaction with other
organization or if the worst comes to the worst, it should
be in a position to complete it manually.
BIBLIOGRAPHY
1. Senn James A: Analysis and Design of
Information Systems, McGraw Hill, International Ed,
1989.
2. O'Brien James A: Management Information
Systems, Galgotia Publications Pvt Ltd, New Delhi,
1998.
3. Laudon & Laudon: Management Information
Systems, Organization and Technology, PHI, New
Delhi, 1998.
4. Wetherebe James: Systems Analysis and Design,
Galgotia Publications Pvt Ltd, New Delhi, 1990

You might also like