Вы находитесь на странице: 1из 28

AJAY KUMAR GARG ENGINEERING COLLEGE

27th KM STONE, DELHI-HAPUR BYPASS ROAD, P.O. ADHYATMIK NAGAR


GHAZIABAD-201009

AN
INDUSTRIAL TRAINING REPORT
ON

C# - ASP.NET with Web Forms and MS-SQL


(BLOG EXPRESS A blog management tool)

AT
ATS INFOTECH PVT. LTD., NOIDA

Submitted by
Name
: AKASH SRIVASTAVA
Roll No.
: 1202710014
Year
: IV
Semester
: VII
Section
:A
Branch
: CSE
Date
: 17/08/2015

Under the Guidance of


Mr. Vishal Salvan

AJAY KUMAR GARG ENGINEERING COLLEGE

27th KM STONE, DELHI-HAPUR BYPASS ROAD, P.O. ADHYATMIK NAGAR


GHAZIABAD-201009

TRAINING CERTIFICATE

This is to certify that Akash Srivastava, student of AJAY KUMAR GARG


ENGINEERING COLLEGE B.Tech Final year CSE branch, has undergone
Industrial Training in C#-ASP.NET with WebForms and MS-SQL (Blog Express A
blog management tool) from June 11, 2015 to July 10, 2015.

Wg. Cdr. BM Kalra (Retd.)


Prof. & HoD (CSE)

Gp Capt (Dr.) PK Chopra (Retd.) VSM


Prof. & HoD (T&P)

i
ACKNOWLEDGEMENT

The effort that I have put in my report would not have been possible without the support and help
of many individuals. I would like to extend my sincere thanks to all of them.
I extend my gratitude to Prof. B M Kalra, HoD CSE for providing with excellent infrastructure
and awesome environment that laid potentially strong foundation for my professional life.
I would like to especially thank Faculty 1 name, Faculty 1 Designation and Faculty 2 Name,
Faculty 2 Designation for being a source of support, advice and guidance in documentation and
standardization of training report.
I would like to thank T&P Department for supporting us and providing valuable guidance in
selection of best options for industrial training.
I would also like to thank Company Mentor name, Designation, Company name for the
positive attitude he showed towards my work, and his valuable help and guidance which supported
me during my project.

AKASH SRIVASTAVA
1202710014

iii

TABLE OF CONTENTS

CONTENT

PAGE NO.

Training Certificate (College)

Training Certificate (Company)

ii

Acknowledgement

iii

Table of Contents

iv

List of figures

List of tables

vi

List of Symbols, Abbreviation and Nomenclature

vii

Chapter 1: Company Profile

Chapter 2: Introduction

Chapter 3: Project Undertaken

Chapter 4: Snapshots of Project Constituents

Chapter 5: Access modes of the Project

10

Chapter 6: Basic Design of Front End

11

Chapter 7: Database Schema in Detail

12

Chapter 8: Features of Back End

14

Chapter 9: Major Design Issues

15

Chapter 10: Design Constraints

16

Chapter 11: Limitations of the project

17

Chapter 12: Conclusion

18

Chapter 13: Future Scope

19

Chapter 14: References

20
iv

LIST OF FIGURES

FIG. NO.

DESCRIPTION

PAGE NO.

Fig. 4.1:

Introduction and Login Page5

Fig. 4.2:

Sign Up Page5

Fig. 4.3:

Reader Home Page6

Fig. 4.4:

Profile Page6

Fig. 4.5:

Users Blog7

Fig. 4.6:

Users Dashboard7

Fig. 4.7:

Creating a new post8

Fig. 4.8:

Other users on the platform8

Fig. 4.9:

Admin Panel: Users9

Fig. 4.10:

Admin Panel: Posts9

Fig. 4.11:

Admin Panel: Comments9

LIST OF TABLES

TABLE NO.

DESCRIPTION

PAGE NO.

Table 5.1 :

Modes of Operation0

Table 7.1 :

Database tables

Table 7.2 :

Database tables3

Table 10.1 :

Design constraints of the project 6

vi

LIST OF SYMBOLS, ABBREVIATIONS AND NOMENCLATURE

ABBREVIATION

DESCRIPTION

PAGE NO.

VB....................................Visual Basic2
MVC................................Model View Controller2
SSMS...............................SQL Server Management Studio3
ANSI................................American National Standard Institute3
OOPS...............................Object Oriented Programming
PK....................................Primary Key2
FK....................................Foreign Key2
IIS....................................Internet Information Services6

vii

CHAPTER 1

COMPANY PROFILE
ATS Info-tech PVT LTD is a company focusing on software's and services requirements for the
education sector. They follow the approach of creating awareness and then helping academic
institutions in identifying their software requirements and finally procuring the same for them.
They also provide them technical support services and bundle value added services like
training, certification, etc. developed around these products to help the institution, faculties and
students unlock the full potential of the products they are buying.
The Microsoft IT Academy (MSITA) program is an year wide program of MTA certification
conducted in AKGEC, in collaboration with ATS InfoTech PVT LTD, and provides training
and certification to students in Level 1 (C# programming and OOPS) as well as Level 2
(ASP.NET web-forms with MS-SQL). The training period also serves officially as the viable
option for compulsory summer training in the 3rd year of B. Tech. in CSE/IT.

CHAPTER 2

INTRODUCTION
2.1 C#-ASP.NET
C# (pronounced "C-sharp") is an object-oriented programming language from Microsoft that
aims to combine the computing power of C++ with the programming ease of Visual Basic. C#
is based on C++ and contains features similar to those of Java. ASP.NET is an open-source
server-side Web application framework designed for Web development to produce dynamic
Web pages. It was developed by Microsoft to allow programmers to build dynamic web sites,
web applications and web services. Together these two provide a conducive environment for
development of web tools with segregation of front end and back end.

2.2 Web Forms


ASP.NET Web Forms is a part of the ASP.NET web application framework and is included
with Visual Studio. It is one of the four programming models you can use to create ASP.NET
web applications, the others are ASP.NET MVC, ASP.NET Web Pages, and ASP.NET Single
Page Applications.
Web Forms are pages that your users request using their browser. These pages can be written
using a combination of HTML, client-script, server controls, and server code. When users
request a page, it is compiled and executed on the server by the framework, and then the
framework generates the HTML markup that the browser can render. An ASP.NET Web Forms
page presents information to the user in any browser or client device.

2.3 Microsoft SQL (MS-SQL)

SQL Server is Microsoft's relational database management system (RDBMS). It is a fullfeatured database primarily designed to compete against competitors Oracle Database (DB)
and MySQL.
Like all major RBDMS, SQL Server supports ANSI SQL, the standard SQL language.
However, SQL Server also contains T-SQL, its own SQL implementation. SQL Server
Management Studio (SSMS) (previously known as Enterprise Manager) is SQL Server's main
interface tool, and it supports 32-bit and 64-bit environments.
SQL Server is sometimes referred to as MSSQL and Microsoft SQL Server.

CHAPTER 3

PROJECT UNDERTAKEN
Blog Express: The Ultimate Destination to Read, Post and Roast
3.1 Site Description:
BLOG-EXPRESS is a blog management web tool designed by Akash and Monika to make
their peers aware about the amazing world blogging is.
Out here, you can post an article, follow others on this platform, read their posts and provide
your review on them.

3.2 Project Description:


Blog Express is a blog management project created on C#-ASP.NET, with Web Forms and MS
SQL. It involves granting user ability to post, read, like, edit and comment on text posts
available on the platform, and deleting a user, a post or a comment acting as an admin. A
smaller version of a chat-less social platform , Blog Express lets its users decide , whose posts
to be seen in his/her reader and what comments to be appearing on his/her posts. At
development end, Blog Express basically amplifies the use of JavaScript, ASP tables and
SQLDataSources, giving more emphasis on self-growing code rather than custom code.
The project also focusses on implementation of standard OOPS practices, and an ordered
approach to setting up a project. Additionally the project implements full authentication along
with preservation of Session and QueryStrings to optimize security issues.
4

CHAPTER 4

SNAPSHOTS OF PROJECT CONSTITUENTS


The following series of images describe various phases of the projects front end, which are
important from user and admin point of view.

Fig. 4.1: Introduction and Log In page


The project welcomes the user, offers him/her to know more, and provide links to sign up or
sign in.

Fig. 4.2: Sign Up Page


5

Fig. 4.3: Reader Homepage


The reader enables the user to look at all the posts which are published by bloggers he/she
follows. There is a read button provided that opens up the desired post in the next tab.

Fig. 4.4: Profile Page


The profile page is for the user to visit his/her details, and edit it at any time, including contact,
nationality, blog name and blog handle. The user can also choose one from a variety of Avatars.
Also, a user can see his joining time, last visiting time, no of followers and no. of followings
on this page.

Fig. 4.5: Users Blog


It serves as users personalized window to his/her own blog.

Fig. 4.6: Users Dashboard


Inside dashboard, user can see a list of all saved/published posts, toggle their published status
at any time, or edit/update an earlier post.

Fig. 4.7: Creating a new post


A new text post can be created inside the dashboard, with a title, and can be chosen to be saved
or to be published, initially.

Fig. 4.8: Other users on the platform


The Others page shows a list of all members which are currently a part of blog express. The
user in session might choose to follow or unfollow them.
8

Fig. 4.9: Admin Panel: Users

Fig. 4.10: Admin Panel: Posts

Fig. 4.11: Admin Panel: Comments


9

CHAPTER 5
ACCESS MODES OF THE PROJECT

USER
follow/unfollow another user
create a text post as a draft
create and publish a text post
edit , save , publish an existing post
publish/un-publish a post
approve comments appearing on ones post
like or unlike a post
comment on a post
add , edit existing personal details in profile
change Avatar

ADMIN
delete a user
delete a post
delete a comment
as a super-admin , add
/remove other admins

Table 5.1: Modes of Operation


As evident from the table above, as a user there are several privileges depending whether you
are dealing with your details and posts or somebody elses. While as an admin, the user has
restrictive control over users, and also over other admins if the user concerned is super admin.

10

CHAPTER 6
BASIC DESIGN OF FRONT END
The front end consists of the home pages of Login for both user and admin, which after
successful session inception, lead to their respective user/admin specific home pages.

6.1 USER PAGES

Reader: A list of posts by people whom the user follows.

Profile: Shows profile details of the user in session.

My Blog: List of all published blogs by the user

Dashboard: A link to users privileges

Others on this express: List of all current users on platform with their details.

Meet the Drivers: An intro to the developers.

ReadPost: Reader for posts linked from reader / My Blog, with like and comment.

EditPost: for editing existing posts

Comments: Approving comments made on ones posts

Forgot Password: Asks for security answer and decides login status.

6.2 ADMIN PAGES

AdminUser: A list of users with delete option.

AdminPost: A list of posts with delete option.

AdminComment: A list of comments with delete option.

AdminNewAdmin: A list of admins, with options to add or delete them accessible


to super-user.

Also, the project uses JavaScript and jQuery to produce a collapsible sidebar, that may be made
vanishing and reappearing with a toggle Menu Button.
11

CHAPTER 7
DATABASE SCHEMA IN DETAIL
The data source of the project is an SQL Server Database BLOG, currently within the project
directory, that contains the following tables along with their attributes.
USER

fn

ADMIN
usera (PK)

POST
postid (PK)

ln

pwa

title

un (PK)

content

pwd

createtime

joindate

updatetime

lastvisit

pubstatus

sq

authid

sqa

contact

bn

handle

nat

img

(FK un: user)

Table 7.1: Database Tables

12

FOLLOW
Id (PK)

LIKE
Id (PK)

COMMENT
Id (PK)

follower

liker

commenter

(FK un: user)

followed

(FK un: user)

(FK un: user)

(FK un: user)

postid

postid

(FK postid: post)

(FK postid: post)

liketime

text

comment

app

Table 7.2: Database Tables


Once being familiar with the underlying schema, one can fathom the general operations in the
project mapped into database tables, for eg.
o An entry into the user table when a signup is done
o Updating of last seen after each login
o An entry in post table whenever a post is created , with 0 as pubstatus for saving and 1
for publishing
o A corresponding entry in tables, whenever a like or a comment is made.

13

CHAPTER 8
FEATURES OF BACK END
The back end of the project is coded in C#. The major features of the back end of the project
can be illustrated as under.
o No actual queries are used. Any database operation whatsoever is performed using
SqlDataSource. Using them gives an added advantage of security, as the issues related
with non-use of parameterized queries is already taken care of.
o Use of ASP tables instead of DataGridViews so as to endure more firsthand exposure to
manual binding of data to controls.

o Storage of images used for Avatars inside the project folder, and binding them to a
particular image ID inside database, instead of saving actual images inside database,
ensures smoothness.

14

CHAPTER 9
MAJOR DESIGN ISSUES
There were several moments during the development of project that posed a threat to the
greater integrity of the project. Though solved and gotten rid of, few of them were as
noteworthy to mention as the major design issues of the project. Some of them are:
o Classic post-back issues like non-retention of edited data in a textbox, due to the fatal error
of not checking whether the page is loaded or posted back to the server.
o Specification and further removal of foreign key constraint from the tables , due to integrity
issues and added overhead of redesigning the tables , thus also implementing a less difficult
overhead of checking for existence of an entry inside a table before using it , at many
phases.
o Additional overhead of specifying the scalar attribute for deletion of some of the entries,
due to use of SqlDataSource, a bargain for larger gains (ease of use in long run, minimum
coding and security).

15

CHAPTER 10
DESIGN CONSTRAINTS
SOFTWARE CONSTRAINTS

HARDWARE CONSTRAINTS

o OPERATING SYSTEM

o PROCESSOR INTEL CORE dual

WINDOWS/LINUX

core and advanced

o DATABASE MS-SQL server 2012

o RAM 1 GB RAM

o PLATFORM ASP.net (C#)

WEB SERVER IIS

Table 10.1: Design Constraints of the project

16

CHAPTER 11
LIMITATIONS OF THE PROJECT
Though readily coded and structured as per basic requirements, the project still has limitations
on some grounds. Few of them are as mentioned below:

The project doesnt take care of server load, i.e. the outcome of multiple simultaneous
editing transactions is still unknown.

An essential feature of modern sites, of instant asynchronous connection to database,


refreshing parts of pages without refreshing the whole page, through AJAX isnt
present in the project.

One cannot look for a particular blog with the help of keywords, on the project/site.

Unlike usual blogs, one cannot change the theme of his/her blog.

17

CHAPTER 12
CONCLUSION
Though still in its primal stage, Blog Express is a fully functional blog management tool
running at full scale and maximum database support. Over time updates like use of AJAX,
extension of responsiveness to smaller devices, and addition of theme module to bring it more
closer to WordPress will be provided, so as to enhance the project.
There is a dire need of a Stats page so as to obtain the profile data in graphical form, which is
in development phase. Also the project was non-commercially hosted at
blogexpress.somee.com. The hosted project received greater praise from peers and seniors.
Also this is one of the rarest project to do, as it hadnt been done before as on the internet. The
project focusses on implementing interaction platform from the basic scratches and not from a
template.
Overall, the industrial training proved to be helpful in enhancing the trainees practical skills,
and a wonderful stimulus for extension of theoretical knowledge to real world applications.

18

CHAPTER 13
FUTURE SCOPE
Without doubt, the project undertaken can be extended to a variety of Content Management
Systems in future. Some potential ideas are:

A theme enabled multi blog experience

Allowing users to create pages other than blogs

Generation of user fed, as well as automatically generated tags in text, that may help
one to pin point a particular post.

Enriched and faster user experience through use of AJAX.

Enabling text and multimedia input beside text, in blog posts.

CHAPTER 14
REFERENCES
Various web resources proved to be vital for successful completion of the training project.
Some of them are mentioned here.
1. www.asp.net
2. www.codeproject.com
3. msdn.microsoft.com
4. www.c-sharpcorner.com
5. https://github.com
6. stackoverflow.com
7. codepen.io

20

Вам также может понравиться