The estimated reading time for this post is 20 Minutes


1.1 Project Summary

The application of “DMC” resembles municipal council services. Various services are provided through this application. User can access these services from anywhere & anytime through mobile. As it is seen that in day to day life the use of mobile phones and mobile applications has increased drastically. Among the total population of the world 56% population owns smart phone. Development of this android application would ease the work of citizens as well as employees of the department.

1.2 Purpose

The main purpose of this project is to develop a digital platform among the citizens and the council so that most of  the work can be carried out online whose outcome would be time and cost efficient and less paper work.

1.3 Scope

Scope of the “DMC” project is to develop a complete user friendly system. User can register complaint, request for places on rent, etc. Whereas admin side can update news, release tender online so that interested user can request for it, etc. The application would also consist of language switch key to change language of the User Interface according to user convenience. Language switch will offer languages like Hindi, English, and Gujarati.

1.4 Report Outline

Chapter 1: It contains the basic introduction of project. In gives overview of the project and purpose & scope of the project.

Chapter 2: It contains the information about the technology which is use for the implementing to this project.

Chapter 3: It contains the information about planning and scheduling of this project. It includes different techniques for planning & scheduling.

Chapter 4: It contains the information about software requirement specification of this project. It include functional and non-functional requirement of this project.

Chapter 5: It includes the analysis of the system develop by the system developer. In that include the feasibility study of this system. Also include the diagrams like E-R diagram, UML diagram & USECASE diagram of the system which shows the behavioral aspect of the system.

Chapter 6: It includes the schema designs of the project. This is use for store the data in database.

Chapter 7: This shows the implementation part of this system. It gives the GUI design of the project and testing process of system.

Chapter 8: It contains the conclusion of the project and remaining future work of this project or system.


2.1 Existing System

Today municipal council services are provided in council offices. Therefore, there is much need of a common man to visit council offices physically. It is not feasible for every person to visit council offices council itself which consumes the time and energy of both: the citizen as well as the employee’s every time. Also “DMC” do not have any website so user do not have any option rather than to visit the

2.2 Proposed system

Application is based on Common Man interaction with Computational device along with the benefits of interaction with Municipal council. This application will be truly based on HCI Key points, i.e. User Friendliness, Color Combinations, and Ease of Language. It gives various functionalities as one touched operation for providing various facilities. The Records generated will be logged in the database. Providing TID for each operation and services available in Android based Application. Also council can provide various notifications to all users regarding any required broadcast information if any new update has to be reached till the users. User can also access to the municipal services through one touch like reporting about sanitation problem within the council boundaries. Council will be reported the location of the user through Global Positioning System.

No. Name Abstract Year
1. Financial aspect of municipal basic services in India: a study of Haryana state The paper examines the financial needs for upgrading core infrastructure and services in India. 2012
2. An Empirical Study on Financial Performance of Corporations of Gujarat State Local Government institutions are not new to India and have come down to us from the ancient times. Kautilya and other authorities refer to these institutions and Vedas, Particularly the Rig Veda, reveals that the ancient Hindus led a corporate life. 2014


3.1 Project Planning and Scheduling

3.1.1 Project Development Approach

Our project is developed using specific software development lifecycle. Software development approach is best suited for the project depends on the needs and various other factors. A process model is a development action that is used to achieve a goal that satisfies the requirements continually by the constraints.

Figure 3.1: Iterative model

An iterative life cycle model will not try to start with a full specification of requirements. Instead, development begins by specifying and applying just part of the software, which can then be reviewed in order to identify further necessity. This set of procedure is then repeated, producing a new version of the software for each cycle of the model.

System requirements: Establishes the components for building the system, including the hardware requirements, software tools, and other necessary components. Examples include decisions on hardware, such as plug-in boards (number of channels, acquisition speed, and soon), and choices on external pieces of software, such as databases or libraries.

Software requirements: Establishes the expectations for software functionality and identifies which system requirements the software affects. Requirements analysis includes determining interaction needed with other applications and databases, performance requirements, user interface requirements, and so on.

Architectural design: Determines the software framework of a system to meet the specific requirements. This design defines the major components and the interaction of those mechanisms, but it does not define the structure of each component. The external interfaces and tools used in the project can be determined by the designer.

Detailed design: Observes the software components defined in the architectural design stage and produces a specification for how each component is implemented.

Coding: Implements the detailed design specification.

Testing: Determines whether the software encounters the specified requirements and catches any errors present in the code.

Maintenance: Addresses problems and enhancement requests after the software releases.


  • Easy to understand and implement.
  • Widely used and known (in theory!).
  • Reinforces good habits: define-before- design, design-before-code.
  • Classifies deliverables and milestones.
  • Document driven, URD, SRD, etc. Published documentation standards, e.g. PSS-05.
  • Works well on mature products and weak teams.


  • Idealized, doesn’t match reality well.
  • Doesn’t reflect iterative nature of exploratory development.
  • Unrealistic to expect accurate requirements so early in project.
  • Software is delivered late in project, delays discovery of serious errors.
  • Difficult to integrate risk management.
  • Difficult and expensive to make changes to documents, “swimming upstream”.

3.1.2 Project Plan

In this planning stage, we are discussing our date that in this day we are finishing our project and set the schedule of project representation and coding part. Our work done has also set by some periods of time. And through this technique we easily make our project so project planning is more important.

1 Literature Survey 10-01-2018 19-01-2018 09d
2 Requirement Gathering 20-01-2018 29-01-2018 09d
3 Design 30-01-2018 08-02-2018 09d
4 Canvas 09-02-2018 18-02-2018 09d
5 Database Design 19-02-2018 20-02-2018 01d
6 Application Coding 01-03-2018 15-04-2018 44d
7 Website Design 18-03-2018 05-04-2018 18d
8 Documentation 06-04-2018 12-04-2018 06d

Figure 3.1.2: Project Planning

3.1.3 Schedule Representation

Ghantt Chart

Figure 3.1.3: Gantt chart




Users: First the user enter his/her email id and password after that the user is logged-in into the application and use different services like Property Tax, Rent, Pension, Register me, Complaint, Feedback, What’s New, Information and Admin Wing. Also in complaint module user can upload the picture and send their location. User also can give the feedback.

4.2 Hardware and Software Requirement

Software requirements:

  • Operating System: Microsoft Windows 7 and above, Android
  • Front end: Android Studio
  • Backend: MySQL, Php
  • Language Used: Java,C,C++
  • Technology: Php, Android

H/W requirements:

  • Hard Disk, Android Mobile, Computer, RAM -4GB,Internet

Other Requirements:

System requirements
Operating system Android operating system
Software needed Web browser, PHP-5, Android-3.0.1, MySQL-2012
Performance Easy to access


5.1 Feasibility Study

The main perspective of the feasibility study is to test the feasibility in the domain of Technical, Operational and Economical feasibility for addition of new modules and debugging the present old running system. All system is categorized as feasible if there are unlimited resources along with infinite timing. There are various considering approaches aspects in the study of feasibility as stated below:

  • Technical Feasibility
  • Operational Feasibility
  • Economic Feasibility

5.1.1 Technical Feasibility

The term technical feasibility focuses usually raised during the feasibility stage of the investigation which includes the following measures listed below:

  • Does the necessary technological platform exist to do what is suggested?
  • Does the proposed equipment or system have the technical capacity probability to hold the data required to use the new system?
  • Does the proposed system provide adequate response to inquiries or compliance, regardless of the number or location of users?

The proposed system which developed is technically feasible in approximate all aspects. It is an android application based on user interfacing. It provides smooth and convenient platform to the users. The main aim of database is to create, manage, establishment and maintenance of the flow of work and procedures among each and every entities facilitating the concerned community actors of various communities in their various capacities or roles. Permission to the respective users would be granted based on the roles specified. Therefore, providing the technical guarantee of accuracy, reliability and security.

5.1.2 Economical Feasibility

Proposed projects are considered beneficial only if they can be turn out into informational system. Satisfying the meet of the organization’s operating requirements. The operational feasibility aspects of the project are to be taken as an important part of the project implementation. Some of the important common issues raised are in order to test the operational feasibility of a project includes the following as stated below:

  • Does it provide sufficient support to manage the database?
  • Will the system be used and perform in a proper manner if it is being developed and implemented?

This proposed system is targeted to be in accordance with the above-illustrated issues. Earlier, the management issues and user requirements have been taken into serious consideration. So there is no question of resistance from the users that can UN-determine the possible application beneficial aspect. The well-planned design aspect would ensure the optimal utilization of the computer resources and would help efficiently in the improvement of performance and working status of the proposed system.

5.1.3 Operational Feasibility

The economic feasibility captures the cost of development in creating the proposed system and is evaluated on the basis of the ultimate benefit derived from the new systems.

The proposed system is economically feasible. It does not post require any addition hardware or software systems. Since all the required interface for this system is developed with the help of existing resources and technologies.


5.2.1 Use Case Diagram

Figure 5.2.1: Use case for property tax

Figure 5.2.2: Use case for what’s new

Figure 5.2.3: Use case for complaint

Figure 5.2.4: Use case for rent

Figure 5.2.5: Use case for Registration

Figure 5.2.6: Use case for Pension


5.3.1 Class Diagram

Figure 5.3.1: Class Diagram

5.3.2 E-R Diagram

Figure 5.3.2: ER Diagram

5.3.3 Activity Diagram

For Admin:

Figure 5.3.3: Activity Diagram for Admin

For User:

Figure 5.3.3: Activity Diagram for User

5.3.4 Sequence Diagram

Figure 5.3.4: Sequence Diagram


5.4.1 Data Flow Diagram

DFD Level-0

Figure 5.4.1: DFD level 0

DFD Level-1

Figure 5.4.2: DFD level 1

DFD Level 2 Diagram for Homepage:

Figure 5.4.3: DFD Level 2 Diagram For homepage

DFD Level 3 Diagram for Rent:

Figure 5.4.4: DFD Level 3 Diagram for Rent

DFD Level 3 Diagram for Complaint:

Figure 5.4.5: DFD Level 3 Diagram for Complaint

DFD Level 3 Diagram for Pension

Figure 5.4.6: DFD Level 3 Diagram For Pension

DFD Level 3 Diagram for Property-Tax:

Figure 5.4.7: DFD Level 3 Diagram for Property-Tax

DFD Level 3 Diagram for Register Me

Figure 5.4.8: DFD Level 3 Diagram for Register Me

DFD Level 3 Diagram for what’s New:

Figure 5.4.9: DFD Level 3 Diagram for what’s New

DFD Level 3 Diagram for Feedback

Figure 5.4.10: DFD Level 3 Diagram for Feedback


Database design is the process of specifying the logical and/or physical parts of a database. The goal of database design is to make a representation of some “universe of discourse”- the type of facts, business rules and other requirement that the database is intended to model.

A description of the structure of the database including the structure of the tables, column, constraints, view, etc that makes up the database.

The schema describes the complete blueprint for the database, defining everything about the database except that data itself.

Table 5.5.1: Database table for Login/Registration

Name Type Size Constraint
Id int 50 Primary key
First_Name varchar 50 Not Null
Last_Name varchar 50 Not Null
Phone_No varchar 50 Not Null
Email_Address varchar 50 Not Null
Password varchar 50 Not Null
Confirm_Password varchar 50 Not Null
Date_Of_Birth varchar 10 Not Null
Gender varchar 10 Not Null

Table 5.5.2: Database table for Complaint_user

Name Type Size Constraint
Id int 50 Primary key
Name varchar 50 Not Null
phone_no varchar 20 Not Null
complaint_type varchar 2000 Not Null
Image varchar 100 Not Null
Date varchar 20 Not Null
Description varchar 200 Not Null
Location varchar 100 Not Null

Table 5.5.3: Database for Rent_user

Name Type Size Constraint
Id int 50 Primary key
place_name varchar 200 Not Null
Purpose varchar 100 Not Null
Date date   Not Null
first_name varchar 50 Not Null
last_name varchar 50 Not Null
phone_no int 10 Not Null
Address varchar 100 Not Null
email_add varchar 100 Not Null
aadharcard_no varchar 15 Not Null
fire_charge int 15 Not Null
CGST int 10 Not Null
SGST int 10 Not Null
Discount int 10 Not Null
Deposit int 10 Not Null
hall_rent int 10 Not Null
net_amt int 10 Not Null
Bank int 10 Not Null
acct_no int 10 Not Null
IFSC_code int 20 Not Null
no_of_days int 10 Not Null

Table 5.5.4: Database for Pension_user

Name Type Size Constraint
Id int 50 Primary key
Name varchar 50 Not Null
Address varchar 100 Not Null
phone_no varchar 15 Not Null
Dob date   Not Null
Age int 5 Not Null
aadharcard_no int 20 Not Null
select_bank varchar 50 Not Null
acct_no int 20 Not Null
ifsc_code varchar 30 Not Null

Table 5.5.5: Database for Register me as a_user

Name Type Size Constraint
Id int 50 Primary key
full_Name varchar 50 Not Null
address varchar 50   Not Null
Dob varchar 10 Not Null
email_address varchar 50 Not Null
phone_no varchar 10 Not Null
aadharcard_no varchar 30 Not Null
bachelor_percentage varchar 10 Not Null
bachelor_university varchar 50 Not Null
bachelor_institute_name varchar 20 Not Null
bachelor_degree_name varchar 20 Not Null
bachelor_discipline varchar 20 Not Null
bachelor_year_completion varchar 4 Not Null
master_percentage varchar 20 Not Null
master_university varchar 50 Not Null
master_institute_name varchar 50 Not Null
master_degree_name varchar 20 Not Null
master_discipline varchar 20 Not Null
master_year_completion varchar 10 Not Null
year_of_experience varchar 10 Not Null
workplace varchar 50 Not Null
last_post varchar 20 Not Null
reference varchar 20 Not Null
master_degree varchar 20 Not Null
work_experience varchar 20 Not Null

Table 5.5.6: Database for Property Tax_user

Name Type Size Consraint
Id int 50 Primary key
ward_no varchar 10 Not Null
Name varchar 50 Not Null
Address varchar 300 Not Null
Status varchar 15 Not Null
email_address varchar 50 Not Null
phone_no varchar 10 Not Null
house_no varchar 20 Not Null
Amount varchar 10 Not Null

Table 5.5.7: Database for What’s new_user

Name Type Size Consraint
Id int 50 Primary key
  News varchar 100 Not Null

Table 5.5.8: Database for Feedback_user

Name Type Size Consraint
Id Int 50 Primary Key
Name varchar 50 Not Null
Description varchar 2000 Not Null


5.6.1 AEIOU Canvas

Figure 5.6.1: AEIOU Canvas

5.6.2 Empathy Summary Canvas

Figure 5.6.2: Empathy Summary Canvas

5.6.3 Ideation Canvas

Figure 5.6.3: Ideation Canvas

5.6.4 Product Development Canvas

Figure 5.6.4: Product Development Canvas

5.6.5 Business Model Canvas

Figure 5.6.5: Business Model Canvas


6.1 Testing

In Android application there are three types of testing methodologies are available.

1) Black Box

2) White Box

3) Grey Box

1) Black Box

In black-box testing, the AUT is legalized compared to its requirements allowing for the inputs and projected outputs, irrespective of how the inputs are converted into outputs.

2) Whitebox

Major concentration of this methodology is to legalize, how the business logic of application is implemented by code. Interior structure of the application is verified and the procedures available to do so are:

  1. Code Coverage
  2. Path Coverage

3) GreyBox

Essentially speaking, Grey box is a combination of black box and white box. In this methodology, primarily the tester examines the application as in black box. But, for some business critical or susceptible modules of application; testing is performed as white box.

So, in our project we have used Grey Box testing method as it is a combo of both methods so it is more convenient for us.

6.2 Test Case

Test case means executing implementation of Android application with the test data examining the out of the Android application and its operational behavior to check that it is performing as required. There are different types of tests for verification of application.

6.3 Important Screenshots

6.3.1 Login Page

Figure 6.3.1: Login Page

6.3.2 Registration Page

Figure 6.3.2: Registration Page

6.3.3 Home Page

Figure 6.3.3: Home Page

6.3.4 Property Tax

Figure 6.3.4: Property Tax

6.3.5 Rent

Figure 6.3.5: Rent

6.3.6 Pension

Figure 6.3.6: Pension

6.3.7 Complaint


Figure 6.3.7: Complaint

6.3.8 Feedback

Figure 6.3.8: Feedback

6.3.9 What’s new

Figure 6.3.9: What’s new

6.3.10 Information

Figure 6.3.10: Information

6.3.11 Admin Wing

Figure 6.3.11: Admin Wing

6.4 Sample Code



import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.SharedPreferences;





import android.os.Bundle;








import android.text.Html;

import android.text.TextUtils;

import android.util.Patterns;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.RelativeLayout;

import android.widget.TextView;





import org.json.JSONException;

import org.json.JSONObject;

import static android.Manifest.permission.ACCESS_FINE_LOCATION;

import static android.Manifest.permission.READ_EXTERNAL_STORAGE;

import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;

import static android.Manifest.permission_group.CAMERA;

public class LoginActivity extends AppCompatActivity implements View.OnClickListener {

private EditText userId, userPass;

private TextView textForgot;

private Button btnLogin;

private ProgressDialog progressDialog;

private RelativeLayout relativeLayout;

private TextInputLayout emailLoginLayout, pwdLoginLayout;

private SharedPreferences sharedPreferences;

private SharedPreferences.Editor editor;

private AlertDialog alertDialog;

private ConnectivityManager connectivityManager;


protected void onCreate(Bundle savedInstanceState) {



setTitle(Html.fromHtml(“Daman Municipal Council”));

userId = (EditText) findViewById(;

userPass = (EditText) findViewById(;

btnLogin = (Button) findViewById(;

textForgot = (TextView) findViewById(;

relativeLayout = (RelativeLayout) findViewById(;

emailLoginLayout = (TextInputLayout) findViewById(;

pwdLoginLayout = (TextInputLayout) findViewById(;

progressDialog = new ProgressDialog(this);



sharedPreferences = getSharedPreferences(“dmcData”, Context.MODE_PRIVATE);

alertDialog = new AlertDialog.Builder(this).create();



public void onClick(View view) {

switch (view.getId()) {


connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();


if (activeNetwork != null && activeNetwork.isConnected()) {

if (!emailLoginLayout.isErrorEnabled() && !pwdLoginLayout.isErrorEnabled()) {


final String e = userId.getText().toString();

final String p = userPass.getText().toString();

Response.Listener responseListener = new Response.Listener() {


public void onResponse(String response) {

try {

JSONObject jsonResponse = new JSONObject(response);

boolean success = jsonResponse.getBoolean(“success”);

if (success) {

editor = sharedPreferences.edit();

editor.putBoolean(“success”, true);

editor.putString(“fullname”, jsonResponse.getString(“First_Name”)+” “+jsonResponse.getString(“Last_Name”));

editor.putString(“phone”, jsonResponse.getString(“Phone_No”));

editor.putString(“email”, jsonResponse.getString(“Email_Address”));


Intent i = new Intent(LoginActivity.this, NavigationMainActivity.class);




} else {

Snackbar.make(relativeLayout, “Invalid Input. Please Try Again..”, Snackbar.LENGTH_LONG).show();





} catch (JSONException e) {





Response.ErrorListener errorlistener = new Response.ErrorListener() {


public void onErrorResponse(VolleyError error) {

Snackbar.make(relativeLayout, “Volley Error:” + error, Snackbar.LENGTH_LONG).show();




LoginRequest l = new LoginRequest(e, p, responseListener, errorlistener);

RequestQueue queue = Volley.newRequestQueue(this);



} else {






Intent i = new Intent(LoginActivity.this, ForgotPassActivity.class);





private void showProgressDialog() {

progressDialog.setTitle(“Logging In”);

progressDialog.setMessage(“Please Wait… “);



private void checkValidLoginDetails() {

// Reset errors.



// Store values at the time of the login.

String stringEmail = userId.getText().toString();

String stringPassword = userPass.getText().toString();

//Check for valid stringEmail address and is not empty.

if (TextUtils.isEmpty(stringEmail)) {

emailLoginLayout.setError(“This field is required, Email Cannot be Empty.”);

} else if (!Patterns.EMAIL_ADDRESS.matcher(stringEmail).matches()) {

emailLoginLayout.setError(“Email Address is Invalid.”);

} else {



//Check for valid stringPassword and is not empty.

if (TextUtils.isEmpty(stringPassword)) {

pwdLoginLayout.setError(“This field is required, Password Cannot be Empty.”);

} else if (!isValidPassword(stringPassword)) {

pwdLoginLayout.setError(“Invalid Password. It must contain minimum 6 characters.”);

} else {




public boolean isValidPassword(final String password) {

return password.length() >= 6;


private void noInternetShowSnackBar() {

Snackbar snackbar = Snackbar.make(relativeLayout, “No Internet Connection!”, Snackbar.LENGTH_LONG).setAction(“SETTINGS”, new View.OnClickListener() {


public void onClick(View view) {

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);



// Changing message text color


// Changing action button text color

View snackbarView = snackbar.getView();

TextView textView = (TextView) snackbarView.findViewById(;



private void loginFailedWrongDetailsAlertDialog() {

alertDialog.setTitle(“Sorry Login Failed…!!!”);

alertDialog.setMessage(“Email id or Password entered is incorrect. Please enter the correct details to login or account does not exist.”);


alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, “RETRY”, new DialogInterface.OnClickListener() {


public void onClick(DialogInterface dialog, int which) {







if (TextUtils.isEmpty(OTPEditText)) {



otpTextInputLayout.setError(“This field is required, OTP Cannot be Empty.”);

return false;

} else if (OTPEditText.length() != 6) {



otpEditText.setError(“OTP must be of 6 Digit only.”);

return false;

} else {


return true;




public void onClick(View v) {

switch (v.getId()) {


if (checkValidOTP()) {

if (OTPIntent.equals(OTPEditText)) {

Intent intent = new Intent(OTP.this, LoginActivity.class);



} else {








private void invalidOTPAlertDialog() {

alertDialog = new AlertDialog.Builder(this)


.setTitle(“Invalid OTP…!!!”)

.setMessage(“OTP Received Does not Matched. Please enter the correct OTP.”)

.setPositiveButton(“RETRY”, null);;




















android_layout_height=”wrap_content”  >






android_hint=”Enter the OTP number”

android_inputType=”textPersonName” />








android_layout_weight=”0.05″ />

Chapter 7: Conclusion


In the end we can come to a conclusion that when this application will be completely developed it would help the citizens as well as the employees of the municipal council. It would ease their work and lesser paper work along with that it would also be time and cost efficient.



[2] Suart Municipal Corporation (Mobile Application)

[3] Daman Municipal Council




#dissertation #thesis #essay #assignment #phd #phdstudent #phdlife #essaywriting #research #phdjourney #dissertationlife #gradschool #assignments #phdproblems #academicwriting #assignmenthelp #thesiswriting #gradstudent #dissertationproblems #university #academiclife #gradschoolproblems #academia #researchpaper #gradschoollife #graduateschool #college #doctoralstudent #dissertationdone #writing

Liked this content and would like yours written from scratch? Press “Order Now” to place your new order Now!

error: Content is protected !!
Directly chat?
Do you need any help from us?
Thankyou for visiting our website. We can help you to place your order via the order system. Just send the instructions including attachments to our WhatsApp Live chat.
Thank you!