Documente Academic
Documente Profesional
Documente Cultură
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
Internship opportunity provides the students a great chance to relate their theoretical
knowledge with the competitive and tough real job market environment. Moreover, if
the internship period is within the bachelor program and the students have to return to
the academia after completing it, the skills that they have developed during the
internship help them to gain a more sound academic result. After returning from
internship the students get six months for preparing himself/herself for the company
and their future career. New Horizon College of Engineering provides that glorious
opportunity to their students of having an internship within their bachelor program. I
being one of the lucky ones to study in NHCE that was send me to Fitlark to complete my
internship. With having a jab count of zero, I joined fitlark.com as an intern on 8 th
January 2019. The expectations were high and now almost nearing the end of my
internship I must admit that it was really a wonderful experience. I was lucky to get the
opportunity to complete our industrial attachment at fitlark.com. Since fitlark.com is a
leading company in Sports Materials and developing Sports Accessories from a long ago
in India, I consider myself timely to get chance to take a deep look to their development
methodology, working models, deals and industrial behavior. I intended to look into the
software industry and how it looks like, what are their rules, responsibility and
environment. Obviously they work with almost every platform and technologies. I
worked with the part of Web Development team and generated ideas based on their
development technology. The journey wasn’t that simple. There were many obstacles,
new technologies that I have to handle with, yet after overcoming each challenge I had
discovered a new potential within myself. The skills that I have gathered are priceless to
me and I cannot wait to apply those in the upcoming semesters. In addition to that,
some of the non-technical skills that I have procured, combined with those technical
skills will certainly prove handy in my future jobs.
Internship program is not only necessary but also a complementary part of the
Computer Science and Engineering course of New Horizon College of Engineering. The
main purpose of internship program is to get the students exposed to the job market. It
offers a chance to the students to relate their theoretical knowledge to the real world.
NHCE always emphasizes on industry orientation in the academic learning. For this
purpose, very often, people from industries are invited to NHCE to talk about their
companies and practices. NHCE also includes some technical courses conducted entirely
by them.
I feel really proud for being a student of NHCE, and grateful for this internship. I entered
into Fitlark with a heart full of hope. And now, standing near the end of internship, I
must admit that- the experience there is so amazing that it exceeds my expectation.
1.2 OBJECTIVES
This report has been prepared as a requirement of the internship program of the degree
Bachelor of Engineering (BE). The report will definitely enrich the knowledge of the
students from upcoming batches regarding the workplace environment. Using that
knowledge they may prepare themselves appropriately for their future internships. In
addition to that, the report is intended to reflect my achievements, project works and
professional growth during the intern period. Besides, anybody looking for a short detail
about fitlark.com may find this report useful.
1.3 SCOPE
This report is made only for academic purpose and to fulfill the requirement for
industrial attachment. This report has covered the direct and indirect aspects of IT
industry and their challenges. This report gives an insight of the experience that I
achieved from my workplace. A brief description of fitlark.com is included so that other
students can get to know about the company and may decide whether it is suitable for
them or not. If internships are about gathering skills then projects are the main way of
gathering them. Till writing this report I have completed one project and helped in
developing the web applications for fitlark.com. The tasks, timeline and results of those
specific projects are included for a better visualization of industry standard projects.
1.4 LIMITATIONS
While gathering information, analyzing and representing them I have faced some
limitations. However, despite the limitations I have tried hard to prepare a
comprehensive and rather interesting report. The overall limitations of the report are
mentioned below-
Some of the information that I got from secondary sources were not arranged
consistently.
AS I was not permanent employee at fitlark.com, I could not see the
disadvantages of the old system.
For primary data, several face-to-face interviews have been conducted with officials
from different departments of fitlark.com, Information provided by them has been very
important for this report.
CHAPTER 2
COMPANY OVERVIEW
2.1 INTRODUCTION
India is making quick progress in IT industry. There are many mentionable IT
organizations in India who has contributed significantly to the rise of IT sector in India
and fitlark.com is one of them. In principal, fitlark.com is one of the largest shopping
site. Fitlark are one of the largest outsourcing companies in India. Their business is in the
whole country’s market all over the world. Fitlark is an offshore production facility
providing sports items and sports item development services.
2.2 HISTORY
Fitlark is an Indian e-commerce company headquartered in Meerut, Uttar Pradesh, India.
The company was founded in 2002 to sell sports products and later started selling fitness
products and nutritional section also.
Vision
Our vision is to be one of the worlds most advanced offshore facility in fitness and sports
services & marketing arena. Our goal is to achieve supreme quality in our techniques of
work because we believe it is the key to earn our clients’ enthusiasm through continuous
improvement driven by the honor, goodwill, teamwork and innovation of our people.
Mission
Simplify: Simple ideas, simple executions, and simple reporting, - We believe
“Less is more”.
Inspire: Take initiatives! Bring in new ideas! Do things differently! Take action!
Respect: Your culture, colleagues, customers, families and your selves.
Values
2.4.1 C#
The language is intended for use in developing software components suitable for
deployment in distributed environments.
The CLR uses something called the Common Type System (CTS) to strictly
enforce type-safety. This ensures that all classes are compatible with each other, by
describing types in a common way. CTS define how types work within the runtime,
which enables types in one language to interoperate with types in another language,
including cross-language exception handling.
As well as ensuring that types are only used in appropriate ways, the runtime also
ensures that code doesn’t attempt to access memory that hasn’t been allocated to it.
The CLR provides built-in support for language interoperability. To ensure that
you can develop managed code that can be fully used by developers using any
programming language, a set of language features and rules for using them called the
Common Language Specification (CLS) has been defined. Components that follow these
rules and expose only CLS features are considered CLS-compliant.
As well as objects, there are value types. Value types can be allocated on the stack,
which can provide useful flexibility. There are also efficient means of converting value
types to object types if and when necessary.
2.4.3 SQL-SERVER
The OLAP Services feature available in SQL Server version 7.0 is now called
SQL Server 2000 Analysis Services. The term OLAP Services has been replaced with the
term Analysis Services. Analysis Services also includes a new data mining component.
The Repository component available in SQL Server version 7.0 is now called Microsoft
SQL Server 2000 Meta Data Services. References to the component now use the term
Meta Data Services. The term repository is used only in reference to the repository engine
within Meta Data Services SQL-SERVER database consist of following type of objects:
1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO
TABLE:
VIEWS OF TABLE:
1. Design View
2. Datasheet View
Design View
To build or modify the structure of a table we work in the table design view. We can
specify what kind of data will be hold.
Datasheet View
To add, edit or analyses the data itself we work in tables datasheet view mode.
QUERY:
A query is a question that has to be asked the data. Access gathers data that
answers the question from one or more table. The data that make up the answer is either
dynaset (if you edit it) or a snapshot (it cannot be edited).
2.4.4 Jscript
JScript (and the other languages) can be used for both simple tasks (such as
mouseovers on Web pages) and for more complex tasks (such as updating a database with
ASP or running logon scripts for Windows NT ).
Windows Script relies on external "object models" to carry out much of its work.
For example, Internet Explorer's DOM provides objects such as 'document' and methods
such as 'write()' to enable the scripting of Web pages.
ASP.NET
ASP.NET is a new ASP generation. It is not compatible with Classic ASP, but
ASP.NET may include Classic ASP. ASP.NET pages are compiled, which makes them
faster than Classic ASP. ASP.NET has better language support, a large set of user controls,
XML-based components, and integrated user authentication.
ASP.NET pages have the extension .aspx, and are normally written in VB (Visual
Basic) or C# (C sharp). User controls in ASP.NET can be written in different languages,
including C++ and Java.
Here are highlights of some of the new features:
Navigation: ASP.NET has a new higher-level model for creating site maps that describe
your website. Once you create a site map, you can use it with new navigation controls
to let users move comfortably around your website.
Master pages: With master pages, you can define a template and reuse it effortlessly. On
a similar note, ASP.NET themes let you define a standardized set of appearance
characteristics for controls, which you can apply across your website for a consistent
look.
Data providers: With the new data provider model, you can extract information from a
database and control how it’s displayed without writing a single line of code. ASP.NET
2.0 also adds new data controls that are designed to show information with much less
hassle (either in a grid or in a browser view that shows a single record at a time).
Portals: One common type of web application is the portal, which centralizes different
information using separate panes on a single web page.
Administration: To configure an application in ASP.NET 1.x, you needed to edit a
configuration file by hand. Although this process wasn’t too difficult, ASP.NET 2.0
streamlines it with the WAT (Website Administration Tool), which works through a
web page interface.
CHAPTER 3
REQUIREMENT ANALYSIS
3.1 FUNCTIONAL REQUIREMENTS
In software engineering, a functional requirement defines a function of a software
system or its component. A function is described as a set of inputs, the behavior, and
outputs. Functional requirements may be calculations, technical details, data manipulation
and processing and other specific functionality that define what a system is supposed to
accomplish. Behavioral requirements describing all the cases where the system uses the
functional requirements are captured in use cases.
Take userid and password along with secret key, match it with corresponding
database entries. If a match is found then continue else raise an error message.
Encrypt the file to form a new encrypted file by using an encryption algorithm.
Must be able to retrieve the original file from the encrypted file using the
corresponding decryption algorithm.
If any modification is performed on encrypted file, owner of the file should be
notified.
3.2.1 ACCESSIBILITY:
In our project people who have registered with the cloud can access the cloud to
store and retrieve their data with the help of a secret key sent to their email ids.
User interface is simple and efficient and easy to use.
3.2.2 MAINTAINABILITY:
Correct defects
New functionalities can be added in the project based on the user requirements
just by adding the appropriate files to existing project using ASP.net and C#
programming languages.
Since the programming is very simple, it is easier to find and correct the defects
and to make the changes in the project.
3.2.3 SCALABILITY:
System can work normally under situations such as low bandwidth and large
number of users.
3.2.4 PORTABILITY:
Project can be executed under different operation conditions provided it meet its
minimum configurations. Only system files and dependant assemblies would have to be
configured in such case.
CHAPTER 4
DESIGN
4.1 DESIGN GOALS
To enable secure outsourcing of file under the aforementioned model, our
mechanism design should achieve the following security and performance guarantees:
No sensitive information from the customer’s private data can be derived by the
cloud server during performing the encryption and transfer.
4.1.2 EFFICIENCY
The local computations done by customer should be substantially less than. The
computation burden on the cloud server should be within the comparable time complexity
of existing practical algorithms for encryption and decryption of files.
The file F along with the appended Meta data Fe is archived with the cloud.
The Meta data sent by the cloud is decrypted and the corresponding bit in this decrypted
Meta data is compared with the bit that is sent by the cloud. Any mismatch between the
two would mean a loss of the integrity of the client’s data at the cloud storage.
CHAPTER 5
Dept of CSE, NHCE 21
Internal Web Application
IMPLEMENTATION
5.1 META-DATA GENERATION
Let the verifier V wishes to the store the file F with the archive. Let this
file F consist of n file blocks. We initially preprocess the file and create metadata
to be appended to the file. Let each of the n data blocks have m bits in them. A
typical data file F which the client wishes to store in the cloud.
Each of the Meta data from the data blocks mi is encrypted by using a
suitable algorithm to give a new modified Meta data Mi. Without loss of generality
we show this process by using a simple XOR operation... All the Meta data bit
blocks that are generated using the above procedure are to be concatenated
together. This concatenated Meta data should be appended to the file F before
storing it at the cloud server.
The file F along with the appended Meta data e F is archived with the
cloud.
AES Is a block cipher with a block length of 128 bits. Originally called Rijndael,
the cipher was developed by two Belgian cryptographers, Joan Daemen and Vincent
Rijmen... The algorithm described by AES is a symmetric-key algorithm, meaning the
same key is used for both encrypting and decrypting the data. AES is based on a design
principle known as a substitution-permutation network.
The Rijndael algorithm is a new generation symmetric block cipher that supports
key sizes of 128, 192 and 256 bits, with data handled in 128-bit blocks - however, in
excess of AES design criteria, the block sizes can mirror those of the keys. Rijndael uses a
variable number of rounds, depending on key/block sizes, as follows:
Assuming a 128 bit key, the key is also arranged in the form of a matrix of 4 x 4
bytes. As with the input block, the first word from the key fills the first column of the
matrix, and so on. The four column words of the key matrix are expanded into a schedule
of 44 words. Each round consumes four words from the key schedule. The figure below
depicts the arrangement of the encryption key in the form of 4-byte words and the
expansion of the key into a key schedule of 44 4-byte words.
1) Substitute bytes,
2) Shift rows.
3) Mix columns.
The last step consists of XORing the output of the previous three steps with four words
from the key schedule.
In the SubBytes step, each byte in the state is replaced with its entry in a fixed 8-
bit lookup table, S; bij = S(aij).
In the SubBytes step, each byte in the matrix is updated using an 8-bit substitution
box, the Rijndael S-box. This operation provides the non-linearity in the cipher. The S-
box used is derived from the multiplicative inverse over GF(28), known to have good non-
linearity properties.
In the ShiftRows step, bytes in each row of the state are shifted cyclically to the
left. The number of places each byte is shifted differs for each row.
The ShiftRows step operates on the rows of the state; it cyclically shifts the bytes
in each row by a certain offset. For AES, the first row is left unchanged. Each byte of the
second row is shifted one to the left. Similarly, the third and fourth rows are shifted by
offsets of two and three respectively. For blocks of sizes 128 bits and 192 bits, the shifting
pattern is the same.
Row n is shifted left circular by n-1 bytes. In this way, each column of the output
state of the ShiftRows step is composed of bytes from each column of the input state.
(Rijndael variants with a larger block size have slightly different offsets).
For a 256-bit block, the first row is unchanged and the shifting for the second,
third and fourth row is 1 byte, 3 bytes and 4 bytes respectively—this change only applies
for the Rijndael cipher when used with a 256-bit block which is not used for AES.
In the MixColumns step, each column of the state is multiplied with a fixed
polynomial c(x).
In the MixColumns step, the four bytes of each column of the state are combined
using an invertible linear transformation. The MixColumns function takes four bytes as
input and outputs four bytes, where each input byte affects all four output bytes. Together
with ShiftRows, MixColumns provides diffusion in the cipher.
Each column is treated as a polynomial over GF(28) and is then multiplied modulo
x4+1 with a fixed polynomial c(x) = 3 x3 + x2 + x +2. The MixColumns step can also be
viewed as a multiplication by a particular MDS matrix in a finite field. This process is
described further in the article Rijndael mix columns.
In the AddRoundKey step, each byte of the state is combined with a byte of the
round subkey using the XOR operation (⊕).
In the AddRoundKey step, the subkey is combined with the state. For each round,
a subkey is derived from the main key using Rijndael's key schedule; each subkey is the
same size as the state.
The subkey is added by combining each byte of the state with the corresponding
byte of the subkey using bitwise XOR.
The flowcharts for the entire process have been provided in the design section.
CHAPTER 6
TESTING
The purpose of testing is to discover errors. Testing is the process of trying to
discover every conceivable fault or weakness in a work product. It provides a way to
check the functionality of components, sub assemblies, assemblies and/or a finished
product it is the process of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.
TYPES OF TESTS
6.1 UNIT TESTING
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual
software units of the application .it is done after the completion of an individual unit
before integration. This is a structural testing, that relies on knowledge of its construction
and is invasive. Unit tests perform basic tests at component level and test a specific
business process, application, and/or system configuration. Unit tests ensure that each
unique path of a business process performs accurately to the documented specifications
and contains clearly defined inputs and expected results.
As a rule, system testing takes, as its input, all of the "integrated" software
components that have successfully passed integration testing and also the software system
itself integrated with any applicable hardware system(s).
System testing is a more limited type of testing; it seeks to detect defects both
within the "inter-assemblages" and also within the system as a whole.
System testing tests not only the design, but also the behavior and even the
believed expectations of the customer. It is also intended to test up to and beyond the
bounds defined in the software/hardware requirements specification(s).
CHAPTER 7
SNAPSHOT
CHAPTER 8
Apart from reduction in storage costs data outsourcing to the cloud also helps in
reducing the maintenance.
REFERENCES
[1] A. Gersho and R. M. Gray, Vector quantization and signal compression.
Massachusetts, USA: Springer Science & Business Media, 1992.
[2] R. M. Gray, “Vector quantization,” IEEE ASSP Magazine, pp. 4–29, April 1984.
[3] S. Alkhalaf, O. Alfarraj, and A. M. Hemeida, “Fuzzy-VQ image compression based
hybrid PSOGSA optimization algorithm,” in IEEE International Conference on Fuzzy
Systems (FUZZ-IEEE). IEEE, 2015, pp. 1–6.
[4] C.-C. Chang, T. S. Nguyen, and C.-C. Lin, “A reversible compression code hiding
using SOC and SMVQ indices,” Information Sciences, vol. 300, pp. 85–99, 2015.
[5] H.-T. Hu, L.-Y. Hsu, and H.-H. Chou, “Variable-dimensional vector modulation for
perceptual-based DWT blind audio watermarking with adjustable payload capacity,”
Digital Signal Processing, vol. 31, pp. 115–123, 2014.
[6] N. Farvardin, “A study of vector quantization for noisy channels,” IEEE Transactions
on Information Theory, vol. 36, no. 4, pp. 799–809, 1990.