You are on page 1of 22

NAME: SRIKANTH

USN: 1NH18CS419

SEM: 5th ‘C’

TITTLE: ONLINE CRIME REPORT

BRANCH: COMPUTER SCIENCE ENGINEERING

1
CHAPTER 1

INTRODUCTION
1.1 PROBLEM DEFINITION

Crime is a part of illegal activities in human life. It is quite obvious that the rate of crimes is increasing day
by day in all societies across the world, but we do believe that there is a lot which can be done by both
the governments and the individuals to reduce the crimes in communities. The rise of population and
complex society rises the range of anti-social conducts that must be restricted by the government through
the military and different organizations particularly the Police Force. There are many current crime
management systems which faces several difficulties, as there is no means to report crime instantly other
than phone calls, messaging or face-to-face compliant filing. Hence, we have proposed an online crime
reporting system which allows the user to file complaints or missing reports and keep a track of it. There
are 3 categories that a user can file; Complaint, Crime Report and Missing Report and can see all the status
of what action has been taken by the admin. To file any of the above 3 complaints, the user should register
in to the system and provide his right credentials to file them. The crime reporting system project also
allows other users who doesn’t want to register but can check the crimes happening at his/her or any
other area, must just provide the pin code and in return the system displays the list of crimes if any filed.

1.3 OUTCOMES OF THE PROJECT

The system comprises of 2 major modules with their sub-modules as follows:


1. Admin:
• Login: Admin can login in his personal account using id and password
• View Complaints: Admin can view the complaints.
• Update cases: Admin can update the crime cases.
2. User:
• User Registration: User has to register to file complaints, crimes or missing report.
• User Login: User can login to system to file and check the status of his complaints or missing
reports.
• Complaints: Complaints consist of basic details the system asks, and the user has to fill in
order to register a complaint and check the status of his complaints.
• Crimes: Crimes consist of all the details that the user has to fill in to
• Register a complaint and provide a picture, if he has one related to the crime, also can check
the status of the crimes he has filed.

2
CHAPTER 2

REQUIREMENTS SPECIFICATION

2.1 HARDWARE REQUIREMENT

➢ Processor : I3 and higher which is X86 Compatible


➢ RAM : 512 MB or more
➢ Hard Disk : 500 GB

2.2 SOFTWARE REQUIREMENT

➢ Python IDLE
➢ Windows 7 Operating System or higher

3
CHAPTER-3

SQL CHARACTERISTICS

3.1 E-RDIAGRAM

FIG -3.1 E-R diagram

4
A data model is a type of model which determines the logical flow of data and the storage of data in
the database and tells how to manipulate the data in or from the database.

SQL is a structured query language. In this project, backend of the project is database. So SQL is an open
source available software, which manages the database. For this project by using create database command
car database is created. In which all the tables required for car care project is stored. Mysql is used as
backend.

Backend of the project, database car is created. All tables such as car, customer, employee, service
and bill are stored. Database and python GUI are connected with the help of Mysql-connector.
Whenever there is a addition, deletion or updating through GUI the change will be reflected on
database too.

3.2 ENTITIES AND ATTRIBUTES:

An entity is an object referring to the real world objects like a person, place, or anything etc. we show
the several relation between the entities present in the database using an ER-diagram (entity relationship
diagram). Here is an entity named student.

Student

An attribute is a field stores the relevant content of the entity to which it is linked to. An attribute can
also be made as a primary or a foreign key for the particular table. Here is an attribute named ‘name’ taking
the name of the student if it is linked to the entity student.

Name

There are many types of attributes:

i) Singled valued – This attribute having a single value in it is known as single values attribute.

Name

ii) Multivalued attribute – This attribute stores more than one values at an instance of time. It is
represented by double ovals.

5
iii) Composite attribute – This type of attribute where the value of the attribute can be further sub
divided into different parts.

3.3Keys:

An attribute or a combination of attributes which is used to determine the attributes of a table or when
we join the tables, the entity or entities which participate in this is known as a key. There are many types of
keys

i) Primary key – This key is used to determine the other attributes of the tables uniquely.
ii) Foreign key – This key is used to derive the primary key values to another tables as foreign values,
so it is called as the foreign key.
iii) Super key – This key which contain a set of attributes to determine other attributes in the table.

RELATIONSHIP AND PARTICIPATION:

All the tables in the database are related to each other by means of a relation. And the participation tell
the presence of the entity in the relation. There are two types of participation

i) n – This participation tell that in a relation an entity is participating with ‘n’ time’s presence in the
relation.

6
ii) 1 – This participation tell that in a relation the entity have only one presence.

CARDINALITY RATIO:

The cardinality ratio tells the ratio of the presence of both the entities. There some four types of entities

i) 1:1 – This cardinality ratio tells that both the entities have a single presence in the relation.

Teacher Can be Principal


1 1

ii) 1: N – This cardinality ratio tells that one of the entities have single presence in the relation but
the other has ‘n’ time’s presence or multiple presence in the relation.

Student Class
Can be
iii) 1 N

iv) M: N– This cardinality ratio tells that both the entities have multiple participations in the relation.

Company In Location
M N

7
CHAPTER 4

PYTHON FEATURES
4.1 EASY TO CODE AND READ

It is a high level programming language. It is very easy to learn compared to other programming languages.
The python code is very simple and user friendly. A lay man can learn the basics in few hours or days and start
developing applications. Python is a development friendly language.

4.2 EXPRESSIVE

First, let’s learn about expressiveness. Imagine that we have two languages P and Q, and all programs that can
be made in P can be made in Q using local transformations. There are some programs that can be made in Q,
but not in P, using local transformations. Then, Q is said to be more expressive than P. This programming
language provides us with a myriad of constructs that help us focus on the solution more rather than that on
the syntax. This is one of the best and most impressive python features that tells you why one should learn
Python.

4.3 PROTABLE

Let’s assume that a user has written a code for his Windows machine. Now if he has to run the same code in
Mac then he will have to make changes to the code. But when it comes to Pythons that’s not a problem. One
can take a python code and run it on any machines without making and changes provided user avoid and
system dependent feature. This makes it a portable language.

4.4 HIGHLEVEL

Python is a high-level language. Which basically means that’s the programmers need not remember the
system architecture nor does the programmer have to manage the memory. Which makes it more
programming friendly which is one of the main features of this programming language.

4.5 LARGE STANDARD LIBRARY

When we download python, it downloads with a large library that one can use so he doesn’t have to write his
own code for every single thing. There are libraries for regular expressions, documentation-generation, unit-
testing, web browsers, threading, databases, CGI, email, image manipulation, and a lot of other functionality.

4.6 Dynamically Typed Language:

Python is dynamically-typed language. That means the type (for example- int, double, long etc) for a variable
is decided at run time not in advance. Because of this feature we don’t need to specify the type of variable.

8
4.7 Interpreted Language:

Python is an Interpreted Language because python code is executed line by line at a time. Like other language
C, C++, java etc there is no need to compile python code this makes it easier to debug our code. The source
code of python is converted into an immediate form called bytecode.

4.8 GUI Programming Support:

Graphical Users interfaces can be made using a module such as PyQt5, PyQt4, wxPython or Tk in python.
PyQt5 is the most popular option for creating graphical apps with Python.

Data Types:

In Programming Language data type is most important concept. Variables can store different type and
different things can do different things

Python has different types of Data Types:

a) String
b) List
c) Tuple
d) Set
e) Dictionary
f) Boolean-True, False
g) Numbers-Integer, Float, Complex

a) STRING
In python, String is a collection of one or more characters at a time put in single double or triple quotes.
String handling String handling in python is very straightforward task since there are various in-built functions
and operators already provided. In case of string handling, the operator + is used to concatenate two strings.
For example, the operation "hello"+" python “returns "hello python” as output. The operator * is known as
repetition operator as the operation "Python" *2 returns "Python Python".

9
FIG- 4.1 String operations

b) LIST
A List in python is an ‘ordered collection’ of one or more data items not necessarily of the same type
put in ‘square brackets’. Lists are similar to arrays in C. However, the list can contain data of different types.
The items stored in the list are separated with a comma “,” and enclosed within square brackets “[ ]”.We can
use slice ‘:’ operators to access the data of the list. The concatenation operator (+) and repetition operator
‘*’ works with the list in the same way as they were working with the strings.

FIG -4.2 LIST OPERATIONS

c) TUPLE
A tuple object is an ordered collection of one or more data items, not necessarily of same data type. A
tuple is similar to the list in lots of ways. Like lists, tuples also contain the collection of items of different data
types. The items of the tuple are separated by a comma “,” and enclosed in parentheses “( )”. A tuple is a read-
only data structure as we can't modify the size and value of the items of a tuple.

10
Fig 4.3 Tuple Operations

d) SET

Set is an unordered collection of unique items. Set is defined by values separated by comma inside
braces “{ }”. Items in a set are not ordered. We can perform set operations like union, intersection on two sets.
Set accepts only unique values. Since, set are unordered collection, indexing has no meaning. Hence the slicing
operator “[ ]” does not work.

FIG 4.4 Set Operations

e) DICTIONARY
Dictionary is an ordered set of a key-value pair of items. It is like an associative array or a hash table
where each key stores a specific value. It is mostly used when we have a huge amount of data. Dictionaries
are optimized for retrieving data. We must know the key in order to retrieve the value.

11
FIG- 4.5 DICTIONARY Operations

f) BOOLEAN
Boolean data type is used to find true or false of given statement. Here it takes only one parameter
and if nothing is entered then Boolean takes false as default.

FIG 4.6 Boolean Operations

12
g) NUMBERS

INTEGERS
Integers are the numbers which consists both negative and non-negative numbers. We use int ()
function to define integers in python

FLOAT
Float are the type of numbers which consists of decimal points. Compared to other numbers float can
decimal values. . We use float () function to define float in python

COMPLEX
Complex numbers are used to define real and imaginary numbers. Combination of real part and
imaginary part is called complex number. We use j to represent imaginary part in python

Ex: x=complex (1+5j) here j represents the imaginary part of the given thing

13
CHAPTER 5

TKINTER WIDGETS
Tkinter is standard GUI library for Python. When combined with Tkinter, Python provides a fast and
easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI
toolkit. Some of the GUI Widgets provided by Tkinter are as follows:

1. Button

2. Label

3. Entry

4. Menu

5. Message box

5.1 BUTTON
The Button widget is used to add buttons in your application.The general syntax is: “w=Button
(master, option=value)”, master is the parameter used to represent the parent window.

14
FIG 5.1 Button

5.2 LABEL
The Label widget is used to provide a single-line caption for other widgets. It refers to the display box
where you can put any text or image which can be updated any time as per the code.
The general syntax is: “w=Label (master, option=value)”, master is the parameter used to represent the
parent window.

Example:

FIG 5.2 LABEL

15
5.3 ENTRY
Entry is used to input the single line text entry from the user. For multi-line text input, Text widget is
used. The general syntax is:

“w=Entry (master, option=value)”, master is the parameter used to represent the parent window.

Example:

FIG 5.3 ENTERY

5.4 MENU
The Menu widget is used to provide various commands to a user. These commands are contained
inside Menu button. It is a part of top-down menu which stays on the window all the time. Every menu
button has its own functionality. The general syntax is: “w = MenuButton(master, option=value)” , master is
the parameter used to represent the parent window. Menu is of three types: Top Level, Pull Down and Pull
Up.

Example:

16
FIG- 5.4 MENU BOX

5.5 MESSAGE BOX


The Message widget is used to display multiline text fields for accepting values from user. Its work is
same as Label.

The general syntax is: “w = Message (master, option=value)”, master is the parameter used to represent the
parent window.

Ex:

FIG 5.5 MESSAGE BOX

17
CHAPTER 6

IMPLEMENTATION

18
19
20
CHAPTER 8

CONCLUSION
Using Python I have implemented this project. It one of the real world’s application used in our day to
day life. As the present technology asks for faster accessing of data in both storing as well as re-tracing back,
there is high scope for GUI and also for new efficient logics

From this mini project I could able to understand the need of GUI in the modern day, where we need
to find a logic and code a program for real time problems. Being a Computer Science Engineer it is not just to
know the concepts of python, but it is to understand the depth of the program coded and also to understand
the background logics and crack down the new advanced logic or technic which perform same functionality
with additional advanced outcome. Step by step logic of the code with necessary result flowing to next level
of code has to be understood to find the best of all. From this application, it will help for thousands of people.
In this way python benefits both user as well as Admin (organization). Similarly many real time problems are
rectified using python, other functionalities in day to day life can be made easier by finding an new advanced
and upgraded data storing form as there is high scope as well as in need for many fields of our society It is our
responsibility to think about the present real time problems and find an effective logic and code a program for
the same.

21
CHAPTER 9

REFERENCES
1. MySQL Reference Manual by Kaj Arno, David Axmark, Michael Widenius, O'Reilly Media, June
2002.
2. https://www.tutorialspoint.com
3. https://www.studytonight.com
4. https://www.w3schools.com
5. https://www.geeksforgeeks.org

22

You might also like