Loading documents preview...
MEGAMART A Dissertation submitted in partial fulfillment of the requirements for the award of degree of
MASTER OF COMPUTER APPLICATIONS By
NIKHIL KUMAR TEWARI 1NZ17MCA22 Under the Guidance of Dr. A.P. NIRMALA Associate Professor
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
Ring Road, Near Marathahalli, Bangalore – 560103
2018-2019
MEGAMART A Dissertation submitted in partial fulfillment of the requirements for the award of degree of
MASTER OF COMPUTER APPLICATIONS By
NIKHIL KUMAR TEWARI 1NZ17MCA22 Under the Guidance of
Dr. A.P.NIRMALA Associate Professor
DEPARTMENT OF MASTER OF COMPUTER APPLICATIONS
Ring Road, Near Marathahalli, Bangalore – 560 103
2018-2019
Scanned by CamScanner
Scanned by CamScanner
ACKNOWLEDGEMENT
I would like to thank Dr. Mohan Manghnani, Chairman of New Horizon College of Engineering for providing good infrastructure and Hi-Tech lab facilities to develop and improve student’s skills. I sincerely express my gratitude to the college Principal Dr. Manjunatha for supporting the students in all their technical activities and giving guidance to them. I would like to thank Dr. V. Asha, HOD, Department of MCA, New Horizon College of Engineering for granting permission to undertake this project. I would like to express my gratitude to the project guide Dr. A.P. Nirmala for giving all the instructions and guidelines at every stage of the Project work. I thank all the staff members of the Department of Master of Computer Applications, for extending their constant support to complete the project. I express my heartfelt thanks to my parents and friends who were a constant source of support and inspiration throughout the project.
TABLE OF CONTENTS
Chapter No.
Title
1
INTRODUCTION
1.1 1.2 1.3 1.4
General Introduction Problem Statement Existing System Proposed System
2
REVIEW OF LITERATURE
2.1
Review Summary
3
SYSTEM CONFIGURATION
3.1 3.2
Hardware requirements Software requirements
4
MODULE DESCRIPTION
4.1 4.2 4.3
Module 1 Module 2 Module 3
5
SYSTEM DESIGN
5.1
DFD Diagrams
6 6.1 6.1.2
1-4
5 6
7-9
10-11
SYSTEM IMPLEMENTATION Implementation Screen Shots
7 7.1
SYSTEM TESTING
8 8.1 8.2
RESULTS AND DISCUSSIONS
9 9.1 9.2
Page No
Maintenance
Conclusion Future Enhancement
12-25
26-28
29
REFERENCES Text Reference Web Reference
30
MegaMart
1NZ17MCA22
CHAPTER 1
INTRODUCTION 1.1 General Introduction This project is a web based shopping system for an existing shop. The project objective is to deliver the online shopping application to android platform. Online shopping is the process whereby consumers directly buy goods or services from a seller in real-time, without an intermediary service, over the Internet. It is a form of electronic commerce. This project is an attempt to provide the advantages of online shopping to customers of a real shop. It helps buying the products in the shop anywhere through internet by using an android device. Thus the customer will get the service of online shopping and home delivery from his favorite shop.
1.2 Problem Statement As online shopping became a trend nowadays the regular shops are losing their customers to online brands. Customers have effortless shopping experience and saving time through shopping online. For competing with those online brands, if shops are providing an online portal where their customers can shop through internet and get the products at their doors it will increase the number of customers.
1.3 Existing system The current system for shopping is to visit the shop manually and from the available product choose the item customer want and buying the item by payment of the price of the item. Department of MCA, NHCE
2018-2019
1
MegaMart
1NZ17MCA22
User must go to shop and select products.
It is difficult to identify the required product.
Description of the product is limited.
It is a time consuming process.
Not in reach of distant users.
1.4 Proposed system In the proposed system customer need not go to the shop for buying the products. He can order the product he wish to buy through the application in his Smartphone. The shop owner will be admin of the system. Shop owner can appoint moderators who will help owner in managing the customers and product orders. The system also recommends a home delivery system for the purchased products.
1.5 Feasibility study Feasibility requirements are undertaken to have a view of understanding the features that are incorporated in terms of the requirements to design and implementation. The references of the feasibility study will be divided into multiple sections so that the understandability can be organized so for example if we have to design software the required investment and flow of cash has to be properly analyzed in the same way technical associations are acquired to be discussed.
Technical feasibility.
Operational feasibility.
Department of MCA, NHCE
2018-2019
2
MegaMart
1NZ17MCA22 Economic feasibility.
Figure 1.1 Feasibility study required to be measured are shown in the above figure.
Technical feasibility The customization that has to be operational when a particular identity or field is changed has to be replicated in real time which has to be properly designed and tested for the workability. All types of working references are provided in terms of the resources within the company premises. The integrated settings that are required for the accompanied sharing and alert system will also be associated properly and the vendor integrations will be tested for security provisions. The accessibility of the standards that are required will be properly define so as to acknowledge the formats of reports which has to be in-clubbed in different types of reporting sections that are incorporated.
Operational feasibility Apprehension of working is required to be properly planed as when the system will be provided to multiple users a proper support has to be provided as multiple integrated functionalities are provided. The applications that may arise has to be drafted it so that in the
Department of MCA, NHCE
2018-2019
3
MegaMart
1NZ17MCA22
real time working it can be properly acknowledged as multiple Global finance will be incorporated to the system. A proper documentation will be provided with all variations of report and the standing in the customization options that are provided under the setting.
Financial feasibility Financial return on investment calculation so will be done by the financial team with the help of multiple associated software that are available will be used. Considerations of the cash flow will be determined as the source of income has to be properly acknowledged.
Department of MCA, NHCE
2018-2019
4
MegaMart
1NZ17MCA22
CHAPTER 2
REVIEW OF LITERATURE 2.1 Review Summary This is an app for people who want to purchase products from home or someone who don’t have time to go to local shops. This application basically has two modules admin and user. The user can sign up to use the application. After successful sign up he can login into his account to check what the products available are. The user can add his desired product into cart. The cart layout will show the products added to the cart and the total amount of the selected products. Now the user need to provide his shipping details i.e. the address where he wants his products to be delivered. After clicking the submit button his request will be updated in the database from where the admin can check the list of products the user wants to purchase. The admin is the one who takes care of all the things happening in the background. The user can check all the users and their list of products in their respective cart based on which he can ship the products. The admin can update or delete the products.
Department of MCA, NHCE
2018-2019
5
MegaMart
1NZ17MCA22
CHAPTER 3 HARDWARE AND SOFTWARE REQUIREMENTS Software requirements Platform
:
Window 7,8,10
IDI
:
Android Studio and Firebase
Hardware requirements Computer processor
:
4th generation Intel core i3
Clock speed
:
1.7 GHz
Hard Disk Space
:
500 GB
RAM
:
4 GB
Memory Size
:
128 MB
Department of MCA, NHCE
2018-2019
6
MegaMart
1NZ17MCA22
CHAPTER 4
MODULE DISCRIPTION 4.1 ADMINISTRATOR The administrator is the super user of this application. Only admin have access into this admin page. Admin may be the owner of the shop. The administrator has all the information about all the users and about all the products.
The module is divided into different sub-modules:
Manage Products Manage Users 4.1.1
Manage Orders
4.1.1 Manage Products 4.1.1.1 Add Products The shopping cart contains different kind of products. The products can be classified into different categories by name. Admin can add new products into the existing system with all its details including an image.
4.1.1.2 Delete Products Administrator can delete the products based on the stock of that particular product.
Department of MCA, NHCE
2018-2019
7
MegaMart
1NZ17MCA22
4.1.2 Manager User 4.1.2.1 View Users The admin will have a list view of all the users registered in the system. Admin can view all the details of each user in the list.
4.1.2.2 Delete Users Administrator has the right to delete a user.
4.1.3 Manage Order 4.1.3.1 View Order Administrator can view the orders which is generated by the users. He can verify the details of the purchase.
4.1.3.2 Delete Order Admin can delete order from the orders list when the product is taken for delivery.
4.2 USERS
4.2.1 Registration A new user will have to register in the system by providing essential details in order to view the products in the system.
4.2.2 Login A user must login with his user name and password to the system after registration. Department of MCA, NHCE
2018-2019
8
MegaMart
1NZ17MCA22
4.2.3 View Products User can view the list of products based on their names after successful login. A detailed description of a particular product with product name, product details, product image, price can be viewed by users.
4.2.4 Search Product Users can search for a particular product in the list by name.
4.2.4 Add to Cart The user can add the desired product into his cart by clicking add to cart option on the product. He can view his cart by clicking on the cart button. All products added by cart can be viewed in the cart. User can remove an item from the cart by clicking remove.
4.2.5 Submit Cart After confirming the items in the cart the user can submit the cart by providing a delivery address. On successful submitting the cart will become empty.
4.2.6 Edit Profile The user can view and edit the profile.
Department of MCA, NHCE
2018-2019
9
MegaMart
1NZ17MCA22
CHAPTER 5
SYSTEM DESIGN 5.1 DFD Diagram USER LOGIN:
User
Login
Users
Fig 5.1 DFD Diagram for Login
USER REGISTRATION:
User
Register
Users
Fig 5.2 DFD Diagram for Registration
Department of MCA, NHCE
2018-2019
10
MegaMart
1NZ17MCA22
ADMIN LOGIN:
Admin
Login
Admins
Fig 5.3 DFD Diagram for Login
ADD PRODUCTS:
Add Products
Admin
Products Delete Products
Fig 5.4 DFD Diagram for Adding and Deleting Products
Department of MCA, NHCE
2018-2019
11
MegaMart
1NZ17MCA22
CHAPTER 6
SYSTEM IMPLEMENTATION 6.1 Implementation Implementation is the stage of the project when the theoretical design is turned out into a working system. Thus, it can be considered to be the most critical stage in achieving a successful new system and in giving the user, confidence that the new system will work and be effective. The implementation stage involves careful planning, investigation of the existing system and its constraints on implementation, designing of methods to achieve changeover and evaluation of changeover methods.
Once the design stage has been completed the developer can start writing the code and actually develop the system. The system could either be completely bespoke with every code line written by the specialist programmer or it can be developed by the off-the shelf application which is customized later. The developers will follow the system requirement specifications exactly.
Open Android Studio and then click on File -> New -> New project.
Then type the Application name as “ex.no.7″ and click Next.
Then select the Minimum SDK as shown below and click next.
Then select the Empty Activity and click next.
Finally click Finish.
It will take some time to build and load the project.
After completion it will look as given below.
Designing layout for the Android Application:
Click on app -> res -> layout -> activity_main.xml.
Then delete the code which is there and type the code as given below.
Code for Activity_main.xml: Java Coding for the Android Application:
Department of MCA, NHCE
2018-2019
12
MegaMart
1NZ17MCA22
Click on app -> java -> com.example.exno7 -> MainActivity.
Then delete the code which is there and type the code as given below.
Code for MainActivity.java:
During this stage some of the following are developed.
Android Studio
Chrome
Genymotion
Xampp
6.1.1 Pre – Implementation Technique
Once the design stage has been completed the developer can start writing the code and actually develop the system. The system could either be completely bespoke with every code line written by the specialist programmer or it can be developed by the off-the shelf application which is customized later. The developers will follow the system requirement specifications exactly. If it is said to set a button 500 PX in the top left corner with color red then exactly the same thing will be done by the developer. They should not deviate from the specification at any cost without consulting the analyst.
During this stage some of the following are developed.
The tables and data structures
Validation routine
Data capture form
Data input form
Automated processing routines.
Queries
The user interface (button, messages, directions etc.)
Print data forms
Department of MCA, NHCE
2018-2019
13
MegaMart
1NZ17MCA22
6.1.2 Post – Implementation Technique
Phased implementation has been used which decompose the problem into smaller milestones. A check has to be always once a part is completed to check if the system works as specified. To implement the system the way it has to and giving confidence to the users that the system will work effectively is done here.
Hardware compatibility: whether the system has the minimum HW requirements for the software to run on client system.
Browser compatibility: whether the browsers in client system support JavaScript and Php.
Implementation is the stage of the project when the theoretical design is turned out into a working system. Thus, it can be considered to be the most critical stage in achieving a successful new system and in giving the user, confidence that the new system will work and be effective.
The implementation stage involves careful planning, investigation of the existing system and its constraints on implementation, designing of methods to achieve changeover and evaluation of changeover methods.
Once the design stage has been completed the developer can start writing the code and actually develop the system. The system could either be completely bespoke with every code line written by the specialist programmer or it can be developed by the off-the shelf application which is customized later. The developers will follow the system requirement specifications exactly.
Open Android Studio and then click on File -> New -> New project.
Then type the Application name as “ex.no.7″ and click Next.
Then select the Minimum SDK as shown below and click next.
Then select the Empty Activity and click next.
Finally click Finish.
It will take some time to build and load the project.
Department of MCA, NHCE
2018-2019
14
MegaMart
1NZ17MCA22
After completion it will look as given below.
A Post-Implementation Review (PIR) is conducted after completing a project. Its purpose is to evaluate whether project objectives were met, to determine how effectively the project was run, to learn lessons for the future, and to ensure that the organization gets the greatest possible benefit from the project. After a long project, the last thing many project teams want to do is relive the process and look for ways to improve. However, a forward-looking review can discover many tips and strategies for improvement.
Department of MCA, NHCE
2018-2019
15
MegaMart
1NZ17MCA22
6.2 Screenshots 6.2.1 Home page
Fig 6.1
Department of MCA, NHCE
2018-2019
16
MegaMart
1NZ17MCA22
6.2.2 User Registration
Fig 6.2
Department of MCA, NHCE
2018-2019
17
MegaMart
1NZ17MCA22
6.2.3 User Login
Fig 6.3
Department of MCA, NHCE
2018-2019
18
MegaMart
1NZ17MCA22
6.2.4 Navigation
Fig 6.4
Department of MCA, NHCE
2018-2019
19
MegaMart
1NZ17MCA22
6.2.5 Cart
Fig 6.5
Department of MCA, NHCE
2018-2019
20
MegaMart
1NZ17MCA22
6.2.6 Shipment Details
Fig 6.6
Department of MCA, NHCE
2018-2019
21
MegaMart
1NZ17MCA22
6.3 SAMPLE CODING 6.3.1 User Registration private void ValidatephoneNumber(final String name, final String phone, final String password) { final DatabaseReference RootRef; RootRef = FirebaseDatabase.getInstance().getReference(); RootRef.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (!(dataSnapshot.child("Users").child(phone).exists())) { HashMap<String, Object> userdataMap = new HashMap<>(); userdataMap.put("phone", phone); userdataMap.put("password", password); userdataMap.put("name", name); RootRef.child("Users").child(phone).updateChildren(userdataMap) .addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if (task.isSuccessful()) { Toast.makeText(RegisterActivity.this, "Congratulation, your account have been created", Toast.LENGTH_SHORT).show(); loadingBar.dismiss(); Intent intent = new Intent(RegisterActivity.this, LoginActivity.class); startActivity(intent); } else { loadingBar.dismiss(); Toast.makeText(RegisterActivity.this, "Network Error: please try again after some time...", Toast.LENGTH_SHORT).show(); } } }); } else { Toast.makeText(RegisterActivity.this, "This is" + phone + "already exists.", Toast.LENGTH_SHORT).show(); loadingBar.dismiss(); Toast.makeText(RegisterActivity.this, "Please try again using another phone number.", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(RegisterActivity.this, MainActivity.class); startActivity(intent); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); }
Department of MCA, NHCE
2018-2019
22
MegaMart
1NZ17MCA22
6.3.2 User and Admin Login private void AllowAccessToAccount(final String phone, final String password) { if(chkBoxRememberMe.isChecked()) { Paper.book().write(Prevalent.UserPhoneKey, phone); Paper.book().write(Prevalent.UserPasswordKey, password); } final DatabaseReference RootRef; RootRef = FirebaseDatabase.getInstance().getReference(); RootRef.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.child(parentDbName).child(phone).exists()) { Users usersData = dataSnapshot.child(parentDbName).child(phone).getValue(Users.class); if (usersData.getPhone().equals(phone)) { if (usersData.getPassword().equals(password)) { if (parentDbName.equals("Admins")) { Toast.makeText(LoginActivity.this, "Welcome Admin, you are logged in Successfully...", Toast.LENGTH_SHORT).show(); loadingBar.dismiss(); Intent intent = new Intent(LoginActivity.this, AdminCategoryActivity.class); startActivity(intent); } else if (parentDbName.equals("Users")) { Toast.makeText(LoginActivity.this, "logged in Successfully...", Toast.LENGTH_SHORT).show(); loadingBar.dismiss(); Intent intent = new Intent(LoginActivity.this, HomeActivity.class); Prevalent.currentOnlineUser = usersData; startActivity(intent); } } else { loadingBar.dismiss(); Toast.makeText(LoginActivity.this, "Password is incorrect.", Toast.LENGTH_SHORT).show(); } } } else { Toast.makeText(LoginActivity.this, "Account with this " + phone + " number do not exists.", Toast.LENGTH_SHORT).show(); loadingBar.dismiss(); } } }
Department of MCA, NHCE
2018-2019
23
MegaMart
1NZ17MCA22
6.3.3 Cart private void CheckOrderState() { DatabaseReference orderRef; orderRef =FirebaseDatabase.getInstance().getReference().child("Orders").child(Prevalent.curr entOnlineUser.getPhone()); orderRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { String shippingState = dataSnapshot.child("state").getValue().toString(); String username = dataSnapshot.child("name").getValue().toString(); if(shippingState.equals("shipped")) { txtTotalAmount.setText("Dear " + username + "\n order is shipped successfully."); recyclerView.setVisibility(View.GONE); txtMsg1.setVisibility(View.VISIBLE); txtMsg1.setText("Congratulation, your final order has been Shipped successfully,soon you will received your order at your door step"); NextProcessBtn.setVisibility(View.GONE); Toast.makeText(CartActivity.this,"You can purchase more products, once you received your first final order. ",Toast.LENGTH_LONG).show(); } else if (shippingState.equals("not shipped")) { txtTotalAmount.setText("Shipping State = Not Shipped"); recyclerView.setVisibility(View.GONE); txtMsg1.setVisibility(View.VISIBLE); NextProcessBtn.setVisibility(View.GONE); } } } @Override public void onCancelled(DatabaseError databaseError) { } }); }
Department of MCA, NHCE
2018-2019
24
MegaMart
1NZ17MCA22
6.3.4 Product Details private void addingToCartList() { String saveCurrentTime, saveCurrentDate; Calendar calForDate = Calendar.getInstance(); SimpleDateFormat currentDate = new SimpleDateFormat("MMM dd,yyyy"); saveCurrentDate = currentDate.format(calForDate.getTime()); SimpleDateFormat currentTime = new SimpleDateFormat("HH:mm:ss a"); saveCurrentTime = currentDate.format(calForDate.getTime()); final DatabaseReference cartListRef = FirebaseDatabase.getInstance().getReference().child("Cart List"); final HashMap<String, Object> cartMap = new HashMap<>(); cartMap.put("pid", productID); cartMap.put("pname", productName.getText().toString()); cartMap.put("price", productPrice.getText().toString()); cartMap.put("date", saveCurrentDate); cartMap.put("time", saveCurrentTime); cartMap.put("quantity", numberButton.getNumber()); cartMap.put("discount", ""); cartListRef.child("User View").child(Prevalent.currentOnlineUser.getPhone()) .child("Products").child(productID) .updateChildren(cartMap) .addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if (task.isSuccessful()) { cartListRef.child("Admin View").child(Prevalent.currentOnlineUser.getPhone()) .child("Products").child(productID) .updateChildren(cartMap) .addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if(task.isSuccessful()){ Toast.makeText(ProductDetailsActivity.this,"Added to Cart List",Toast.LENGTH_SHORT).show(); Intent intent = new Intent(ProductDetailsActivity.this,HomeActivity.class); startActivity(intent); } } }); } } }); }
Department of MCA, NHCE
2018-2019
25
MegaMart
1NZ17MCA22
CHAPTER 7
SYSTEM TESTING 7.1 MAINTENANCE Software testing
The expected programming that is given will be checked to a wide range of demeanor of the Planning arrangements gave regarding the measurements appropriately as the base of the framework is to create and follow distinctive sorts of organizing reports. Programming testing will be arranged legitimately for the vital observation with talking about the plans with the related group compel so we can say that the testing office the improvement office needs to work in a planned manner to sort out the related working of testing with the goal that a wide range of perspectives can be recognized appropriately as early testing recognitions will assist the associations with maintaining the framework work capacity legitimately and even the expense of changes in the most recent ages will be calm higher. Programming testing will assume significant job so a certainty can be developed for the related customers to whom the framework will be given as it is very basic to keep up various kinds of imitated data with itemized precision and observation. The framework will characterize different sorts of customization which again required to be checked for so for instance if any kind of job is characterized it must be checked for the continuous work similarly any sort of custom sources of info are transformed it must be checked for the functionality.
Department of MCA, NHCE
2018-2019
26
MegaMart
1NZ17MCA22
Figure 7.1: Test steps taken to understand working is shown in the above diagram
Black box testing
Discovery testing is related as far as our testing method as we need that after the framework is tried inside the association to get past the functionality legitimately it must be given to the customers likewise before they begin attempting to have an appropriate learning about the work procedure this will assist them with understanding additionally the related working that is related with the framework and in variety if any sort of issue emerges it very well may be amended before the last discharge. Necessity of the inside code understanding isn't required will be finished by the customers. Discovery testing will be done before the last discharge.
Department of MCA, NHCE
2018-2019
27
MegaMart
1NZ17MCA22
Unit testing
Different unit will be tried so for instance if the related representation alternatives is to be checked it will be checked for the change with the assistance of various test information similarly the client the executives will be checked for the replication of the rules gave that works in the ongoing or not. The framework will be checked for various kinds of organizing of the data that is related where the recognized data should run consequently to shape different sorts of reports. The customization units are required to be tried appropriately as conceivable changes are required to be characterized. All types of formations of multiple account variation based working will be checked for the accuracy and for the structuring.
Department of MCA, NHCE
2018-2019
28
MegaMart
1NZ17MCA22
CHAPTER 8
RESULTS AND DISCUSSIONS 8.1 Conclusion In this project, MegaMart, we have designed an app to help people to buy products from there home or anywhere. The object of this app is to give users a seamless experience of shopping. The users can shop products from various categories based on their needs. This application have user registration and login module by which the user can enter to the application and check for the variety of products available. The user can select the products and also the quantity of the product he/she requires. They can provide their shipping details to which the product will be delivered. Now the admin will login to the system and he can see what are the products purchased by the people. He can check the cart of individual users based on which he can deliver the products of each user. The admin can add or remove products based on the requirement.
8.2 Future Enhancement There is a scope for further development in this project to a great extend. A number of features can be added to the system in future like we wished to implement classes for customers so that different offers can be given to each class. System may keep track of history of purchases of each customer and provide suggestion based on their history.
Department of MCA, NHCE
2018-2019
29
MegaMart
1NZ17MCA22
CHAPTER 9
REFERENCES Websites [1] https://www.wikipedia.com [2] https://www.google.com [3] https://www.stackoverflow.com
Books [1] E.Balguruswamy “Programming with JAVA” [2] Professional Android by Reto Meier [3] Serge Abiteboul, Richard Hull and Victor Viand “Foundations of Databases” [4] Java 8 Programming Black Book
Department of MCA, NHCE
2018-2019
30
MegaMart
1NZ17MCA22
CHAPTER 9 APPENDICES 9.1 PLAGIARISM CERTIFICATE
Department of MCA, NHCE
2018-2019
31
Scanned by CamScanner
MegaMart by Nikhil Kumar Tewari
Submission date: 02-May-2019 11:12AM (UT C+0530) Submission ID: 1123374232 File name: 1NZ 17MCA22.pdf (697.78K) Word count: 2333 Character count: 11859
MegaMart ORIGINALITY REPORT
0
%
SIMILARIT Y INDEX
%
0%
%
INT ERNET SOURCES
PUBLICAT IONS
ST UDENT PAPERS
PRIMARY SOURCES
Exclude quotes
Of f
Exclude bibliography
On
Exclude matches
Of f