Sie sind auf Seite 1von 76

ABSTRACT

Abstract

E-Notice Board App helps you access online notices on your phone. It is an online notice
board maker where a group of people can easily communicate with each other by sticking
virtual notes.

The notice board has always been the place where staff/students gather to get their latest
release of corporate news. E-Notice Board brings the notice board to a virtual location
where staff/students can not only read notices, but immediately react and respond to them
- from their own desks! With this electronic notice and announcement system, notification
may be sent out notifying staff that a new notice has been posted, where staff may know if
it concerns him directly.
In this way, e-Notice Application also serves as a mailing list for all employees in the
directory. This eliminates the need to keep a separate mailing list which is hard to maintain
due to the rapid movement of staff.

ORIENTAL INSTITUTE OF SCIENCE AND TECHNOLOGY, BHOPAL Page | 1


TABLE OF CONTENTS

TABLE OF CONTENTS
ABSTRACT
LIST OF FIGURES
LIST OF TABLES
LIST OF ALGORITHMS
___________________________________________
___________________
Page No
CHAPTER 1:- INTRODUCTION
1.1 Overview
1.2 Project Objective & Scope
1.3 Organization of Report
CHAPTER 2:-BACKGROUND AND
LITERATURE SURVEY
2.1 Software Requirement Specification
2.2 Feasibility Report
2.2.1 Innovativeness and Usefulness
2.2.2 Market Potential and Competitive
advantages
2.3 Proposed Project Model
CHAPTER 3:- PROCESS MODEL
3.1 Proposed Process Model
3.2 Project Plan
3.3 Project Estimation and Scheduling
CHAPTER 4:- DESIGN
4.1 Use case diagram
4.2 Sequence Diagram
4.3 Activity Diagram
TABLE OF CONTENTS

4.4 Class Diagram


4.5 E-R Diagram
4.6 Data Flow Diagram
4.7 Flow Chart
4.8 Algorithm
CHAPTER 5:- TECHNICAL DETAILS
5.1 Software Specification
5.2 Hardware Specification
CHAPTER 6:- CODING
CHAPTER 7:- TESTING
7.1 Testing Used
7.2 Test Cases & Results
CHAPTER 8:- SCREEN LAYOUTS
CHAPTER 9:- FUTURE ENHANCEMENTS
CHAPTER 10:- CONCLUSION
BIBLIOGRAPHY
APPENDIX
TABLE OF CONTENTS
INTRODUCTION

CHAPTER 1
INTRODUCTION

1.1 OVERVIEW
E-Notice Board App helps you access online notices on your
phone
The notice board has always been the place where
staff/students gather to get their latest release of academic
news. E-Notice Board brings the notice board to a virtual
location where Students can read notices and Administrator
may create any notice category from their own desks!!!

1.2 PROJECT OBJECTIVE AND SCOPE


1) Easy way to broadcast your message.
2) Helps you to be updated with what’s going on in College.
3) Faster dissemination of notices regarding education,
technical events, cultural events.

1.3 ORGANIZATION OF REPORT

We firstly began with the idea of creating E-Notice Board


Application because the notice board has always been the
place where staff/students gather to get their latest release of
corporate news. E-Notice brings the notice board to a virtual
location where staff/students can not only read notices, but
immediately react and respond to them - from their own
desks!!
BACKGROUND AND LITERATURE
SURVEY

CHAPTER 2
BACKGROUND AND
LITERATURE SURVEY

2.1 SOFTWARE REQUIREMENT


SPECIFICATION

2.1.1 FUNCTIONAL

 ADMINISTRATOR MODULE:
This module provides Administrator related functionality.
Administrator manages all information and has access rights to
add, delete, edit and view the data related to inputs of Student
 MAIN MODULE:
In this module Student fill his/her details regarding his/her
personal profile. According to that, he/she gets the list of
Notice available.
 DATA MODULE:
This module provides the details of various list of Notice
available for the Student.

2.1.2 NON-FUNCTIONAL

 The software used to design this project is the


ANDROID STUDIO.

 It’s a secured application and flexible in nature too.

 In this every component can be selectively designed


and a multilayered distributed application.
BACKGROUND AND LITERATURE
SURVEY

2.2 FEASIBILTY REPORT

2.2.1 INNOVATIVENESS AND USEFULNESS

 To eliminate wastage of time and energy:


 To avoid duplication and overlapping
 Keeping Notices at one place
 Anytime Anywhere Service
 Making students updated about all the events and
activities going on in the college.

2.2.2 MARKET POTENTIAL AND COMPETITIVE


ADVANTAGES

1) To make the app suitable for students as well as faculties.

2) Google play store provides a good market platform for


android applications
BACKGROUND AND LITERATURE
SURVEY

2.3 PROPOSED PROJECT MODEL

SDLC MODEL USED


This section describes the project as per the various stages of
the Software Development life cycle. The model of software
development life cycle used in this project is the waterfall
method. The Waterfall Method is comprised of a series of very
definite phases, each one run intended to be started
sequentially only after the last has been completed, with one or
more tangible deliverables produced at the end of each phase
of the waterfall method of SDLC. Essentially, it starts with a
heavy, documented, requirements planning phase that outlines
all the requirements for the project, followed by sequential
phases of design, coding, test-casing, optional documentation,
verification (alpha-testing), validation (beta-testing), and
finally deployment/release.
BACKGROUND AND LITERATURE
SURVEY

Figure 2.1: Login Page

1. Requirement Analysis:

Existing system is time consuming and it makes difficult to


convey huge amount of users about any event, class or seminar
almost instantly. Also there is always a big crowd in front of
noticeboard. So it was hectic to read any useful instruction and
information. Thus all the problems of the existing system are
summarized and proposing a new system that works as an
online application.
It is a value added solution to the problem. It resolves all the
problems stated above. It will provide simple interface to the
user to operate on and convey the intended users about events
almost instantly, anytime and anywhere.
2. Design:

It includes translation of the requirements specified in the SRS


into a logical structure that can be implemented in a
programming language. The output of the design phase is a
design document that acts as an input for all the subsequent
SDLC phases. The design of this app is simple and user
friendly containing five main activities, namely:

(a) Register
BACKGROUND AND LITERATURE
SURVEY
(b) Login

(c) Dashboard

(d) Details of Notices

(e) Admin Panel

3. Coding/Implementation:

It includes translation of the requirements specified in the SRS


into a logical structure that can be implemented in a
programming language. The output of the design phase is a
design document that acts as an input for all the subsequent
SDLC phases. The project is implemented using the Android
virtual devise (AVD). This emulator helped to implement the
project in a real-like environment and sketch out the details of
how it will work on a real hardware. Each activity is linked
with another and interconnectivity is transparent and smooth.

4. Testing:

It includes detection of errors in the application. The testing


process starts with a test plan that recognizes test-related
activities, such as test case generation, testing criteria, and
resource allocation for testing. The code is tested and mapped
against the design document created in the design phase. The
output of the testing phase is a test report containing errors that
occurred while testing the application. Testing of the project
has not been done on real hardware and also on the emulator or
software environment. Testing has been done for each of the
individual activities of the project.

5. Maintenance:

It includes implementation of changes that software might


undergo over a period of time, or implementation of new
requirements after the software is deployed at the customer
location. The maintenance phase also includes handling the
residual errors that may exist in the software even after the
testing phase. The project maintenance is low cost and
efficient as user will get this application
at free of cost and also this application is shared over network,
therefore maintenance is little bit difficult.
PROCESS MODEL

CHAPTER 3

PROCESS MODEL

3.1 PROPOSED PROCESS MODEL

REQUIREMENT

DEPLOYMENT MODEL
& FEEDBACK DESIGN

PPPR
CODE/TESTING
INTEGRATION CODING

PROTOTYPE MODEL
PPPR
A prototype model deploys a prototype i.e. a blueprint
implementation of the system. A prototype exhibits limited
functionality, low reliability and inefficient performance
compared to the original system. A prototype
P is preferred when

 User’s requirements are not complete.


 Technical issues are not clear.

We have preferred to use prototype model because of the


following reasons -
P Since we are working on the minor project for the first
time, many technical issues and errors arrives which need
to be sort out at basic level itself.
 Our specifications were also not completely pre-decided
initially, therefore we decided work on prototype model.
PROCESS MODEL

We are using Evolutionary prototype since it builds a very


robust prototype in a structured manner and we can constantly
refine it. It is used to build when we don’t understand the
requirements completely and can build only those that are
understood by us. This prototype is developed based on the
currently known requirements. By using this prototype, the
client can get an “actual feel” of the system, since the
interactions with prototype can enable the client to better
understand the requirements of the desired system.

3.2 PROJECT PLAN

 Coding used for developing application in following


areas :-
• STUDENT
• ADMIN

 Integrating all the assets using ANDROID STUDIO.

 Maintaining the user database.

3.3 PROJECT ESTIMATION AND


SCHEDULING

 Initially, we are making this at department level and is free


of cost.

 But in future, we wish to host it over the play store, so


that it can be downloaded by anyone who uses an
android mobile phone.
PROCESS MODEL

CHAPTER 4
DESIGN

4.1 USE CASE DIAGRAM

A Use Case diagram at its simplest is a representation of a


user’s interaction with the system and depicting the
specifications of a use case. A use case diagram can portray the
different types of users of a system and the various ways that
they interact with the system. This type of diagram is typically
used in conjunction with the textual use case and will often be
accompanied by other types of diagrams as well.
There are two types of user in this application, user and admin.

Fig 4.1 Use Case Diagram For User


PROCESS MODEL

This diagram is showing what a normal user can do with this


application. The user can login, after that he can view the
notices, delete the notices and can search for particular notices.

Figure 4.2: Use Case Diagram For Admin


PROCESS MODEL

4.2 SEQUENCE DIAGRAM

UML sequence diagrams model the flow of logic within your


system in a visual manner, enabling you both to document and
validate your logic, and are commonly used for both analysis
and design purposes. Sequence diagrams are the most popular
UML artifact for dynamic modeling, which focuses on
identifying the behavior within your system. Other dynamic
modeling techniques include activity
diagramming, communication diagramming, timing
diagramming, and interaction overview diagramming.
Sequence diagrams, along with class diagrams and physical
data models are in my opinion the most important design-level
models for modern business application development.
PROCESS MODEL

Sequence diagrams are typically used to model:

 Usage scenarios. A usage scenario is a description of a


potential way your system is used. The logic of a usage
scenario may be part of a use case, perhaps an alternate
course. It may also be one entire pass through a use case,
such as the logic described by the basic course of action or
a portion of the basic course of action, plus one or more
alternate scenarios. The logic of a usage scenario may also
be a pass through the logic contained in several use cases.
For example, a student enrolls in the university, and then
immediately enrolls in three seminars.
 The logic of methods. Sequence diagrams can be used to
explore the logic of a complex operation, function, or
procedure. One way to think of sequence diagrams,
particularly highly detailed diagrams, is as visual object
code.

 The logic of services. A service is effectively a high-level


method, often one that can be invoked by a wide variety of
clients. This includes web-services as well as business
transactions implemented by a variety of technologies
such as CICS/COBOL or CORBA-compliant object
request brokers (ORBs).

A Sequence diagram is an interaction diagram that shows


how processes operate with one another and in what order. It is
a construct of a Message Sequence Chart. A sequence diagram
shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the
sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence
diagrams are typically associated with use case realizations in
the Logical View of the system under development. Sequence
diagrams are sometimes called event diagrams or event
scenarios.

A sequence diagram shows, as parallel vertical lines (lifelines),


different processes or objects that live simultaneously, and, as
horizontal arrows, the messages exchanged between them, in
the order in which they occur. This allows the specification of
simple runtime scenarios in a graphical manner. UML
sequence diagrams are used to show how objects interact in a
given situation. An important characteristic of a sequence
diagram is that time passes from top to bottom : the interaction
starts near the top of the diagram and ends at the bottom
(i.e. Lower equals Later).A popular use for them is to
document the dynamics in an object-oriented system. For each
key collaboration, diagrams are created that show how objects
PROCESS MODEL

interact in various representative scenarios for that


collaboration.

4.3 ACTIVITY DIAGRAM

FOR ADMIN

Open application

Create notice

Submit notice

FOR STUDENT

Open application

Provide Detail

View List of Notice


PROCESS MODEL

Activity diagram is another important diagram in UML to


describe dynamic aspects of the system. Activity diagram is
basically a flow chart to represent the flow form one activity
to another activity. The activity can be described as an
operation of the system. So the control flow is drawn from one
operation to another. This flow can be sequential, branched or
concurrent. Activity diagrams deals with all type of flow
control by using different elements like fork, join etc.

The basic purposes of activity diagrams are similar to other


four diagrams. It captures the dynamic behavior of the system.
Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show
message flow from one activity to another.

Activity is a particular operation of the system. Activity


diagrams are not only used for visualizing dynamic nature of
a system but they are also used to construct the executable
system by using forward and reverse engineering techniques.
The only missing thing in activity diagram is the message
part.

It does not show any message flow from one activity to


another. Activity diagram is some time considered as the flow
chart. Although the diagrams looks like a flow chart but it is
not. It shows different flow like parallel, branched, concurrent
and single.

Activity diagrams are mainly used as a flow chart consists of


activities performed by the system. But activity diagram are
PROCESS MODEL

not exactly a flow chart as they have some additional


capabilities. These additional capabilities include branching,
parallel flow, swim lane etc.

Before drawing an activity diagram we must have a clear


understanding about the elements used in activity diagram.
The main element of an activity diagram is the activity itself.
An activity is a function performed by the system. After
identifying the activities we need to understand how they are
associated with constraints and conditions.

The basic usage of activity diagram is similar to other four


UML diagrams. The specific usage is to model the control
flow from one activity to another. This control flow does not
include messages.

The activity diagram is suitable for modeling the activity flow


of the system. An application can have multiple systems.
Activity diagram also captures these systems and describes
flow from one system to another. This specific usage is not
available in other diagrams. These systems can be database,
external queues or any other system.
PROCESS MODEL

4.4 CLASS DIAGRAM

The class diagram is a static diagram. It represents the static


view of an application. Class diagram is not only used for
visualizing, describing and documenting different aspects of a
system but also for constructing executable code of the
software application.

The class diagram describes the attributes and operations of a


class and also the constraints imposed on the system. The
class diagrams are widely used in the modelling of object
oriented systems because they are the only UML diagrams
which can be mapped directly with object oriented languages.
PROCESS MODEL

The class diagram shows a collection of classes, interfaces,


associations, collaborations and constraints. It is also known
as a structural diagram.

The purpose of the class diagram is to model the static view


of an application. The class diagrams are the only diagrams
which can be directly mapped with object oriented languages
and thus widely used at the time of construction.

The UML diagrams like activity diagram, sequence diagram


can only give the sequence flow of the application but class
diagram is a bit different. So it is the most popular UML
diagram in the coder community.

Class diagrams are the most popular UML diagrams used for
construction of software applications. So it is very important
to learn the drawing procedure of class diagram. Class
diagrams have lot of properties to consider while drawing but
here the diagram will be considered from a top level view.
Class diagram is basically a graphical representation of the
static view of the system and represents different aspects of
the application. So a collection of class diagrams represent the
whole system.

Class diagram is a static diagram and it is used to model static


view of a system. The static view describes the vocabulary of
the system.

Class diagram is also considered as the foundation for


component and deployment diagrams. Class diagrams are not
only used to visualize the static view of the system but they
are also used to construct the executable code for forward and
reverse engineering of any system.
PROCESS MODEL

Generally UML diagrams are not directly mapped with any


object oriented programming languages but the class diagram
is an exception.

Class diagram clearly shows the mapping with object oriented


languages like Java, C++ etc. So from practical experience
class diagram is generally used for construction purpose.

4.5 ENTITY RELATIONSHIP DIAGRAM

ER Model is represented by means of an ER diagram. Any


object, for example, entities, attributes of an entity,
PROCESS MODEL

relationship sets, and attributes of relationship sets, can be


represented with the help of an ER diagram.

ENTITY: - Entities are represented by means of rectangles.


Rectangles are named with the entity set they represent.
ATTRIBUTES: - Attributes are the properties of entities.
Attributes are represented by means of ellipses. Every ellipse
represents one attribute and is directly connected to its entity
(rectangle).If the attributes are composite, they are further
divided in a tree like structure. Every node is then connected
to its attribute. That is, composite attributes are represented by
ellipses that are connected with an ellipse.
Multivalued attributes are depicted by double ellipse.
Derived attributes are depicted by dashed ellipse.

RELATIONSHIP: - Relationships are represented by


diamond-shaped box. Name of the relationship is written
inside the diamond-box. All the entities (rectangles)
participating in a relationship, are connected to it by a line.

Binary Relationship and Cardinality


A relationship where two entities are participating is called
a binary relationship. Cardinality is the number of instance
of an entity from a relation that can be associated with the
relation.

 One-to-one − when only one instance of an entity is


associated with the relationship, it is marked as '1:1'. The
following image reflects that only one instance of each
entity should be associated with the relationship. It
depicts one-to-one relationship.

 One-to-many − when more than one instance of an entity


is associated with a relationship, it is marked as '1: N’.
The following image reflects that only one instance of
entity on the left and more than one instance of an entity
on the right can be associated with the relationship. It
depicts one-to-many relationship.

 Many-to-one − when more than one instance of entity is


associated with the relationship, it is marked as 'N:1'. The
PROCESS MODEL

following image reflects that more than one instance of an


entity on the left and only one instance of an entity on the
right can be associated with the relationship. It depicts
many-to-one relationship.

 Many-to-many − The following image reflects that more


than one instance of an entity on the left and more than
one instance of an entity on the right can be associated
with the relationship. It depicts many-to-many
relationship.

4.6 DATA FLOW DIAGRAM

A data flow diagram (DFD) is a graphical representation of


the "flow" of data through an information system, modeling
its process aspects. A DFD is often used as a preliminary step
to create an overview of the system, which can later be
elaborated. DFDs can also be used for the visualization of data
processing (structured design).
A DFD shows what kind of information will be input to and
output from the system, where the data will come from and go
to, and where the data will be stored. It does not show
PROCESS MODEL

information about the timing of process or information about


whether processes will operate in sequence or in parallel
(which is shown on a flowchart).
Data flow diagrams are one of the three essential
perspectives of the structured-systems analysis and design
method SSADM. The sponsor of a project and the end users
will need to be briefed and consulted throughout all stages of a
system's evolution. With a data flow diagram, users are able to
visualize how the system will operate, what the system will
accomplish, and how the system will be implemented. The old
system's dataflow diagrams can be drawn up and compared
with the new system's data flow diagrams to draw comparisons
to implement a more efficient system. Data flow diagrams can
be used to provide the end user with a physical idea of where
the data they input ultimately has an effect upon the structure
of the whole system from order to dispatch to report. How any
system is developed can be determined through a data flow
diagram model.

DFDs are excellent guide for validating the


compatibility of the process and designs of the system. This is
because in order to design applications successfully, especially
large ones, the design of both the processes and the data stores
is important. In addition, the data must be consistent with each
other. For example, there must be process to store the data in
the data stores and the data stores must supply the data views
accessed by the processes. Since DFDs depict the relationships
between processes, data store, and data views, this made DFD
the perfect guide for validating compatibility.

DFDs are appropriate diagrams for designing high-


level application architecture. This is because it is a fact that
the larger the application is to be developed the more
important the architecture is. For example, building a box does
not need an architect but a 10-story building does. In most
architectural design, they are represented as diagrams because
diagrams are the best way to depict multiple relationships
among multiple components. This is applicable to software
design, too and DFDs helps tremendously in showing the
architecture design of the system application.
PROCESS MODEL

4.7 COMPONENT DIAGRAM

Notice SHOW
STUDENT Board NOTICE

APPLICATION

ADMIN POST
NOTICE

JDBC

DATABASE

Component diagrams are different in terms of nature and


behavior. Component diagrams are used to model physical
aspects of a system. Component diagrams are used to visualize
the organization and relationships among components in a
system. These diagrams are also used to make executable
systems.

Component diagram is a special kind of diagram in UML. The


purpose is also different from all other diagrams discussed so
far. It does not describe the functionality of the system but it
describes the components used to make those functionalities.
So from that point component diagrams are used to visualize
the physical components in a system. These components are
libraries, packages, files etc.
PROCESS MODEL

Component diagrams can also be described as a static


implementation view of a system. Static implementation
represents the organization of the components at a particular
moment. A single component diagram cannot represent the
entire system but a collection of diagrams are used to
represent the whole.

Component diagrams are used to describe the physical


artifacts of a system. This artifact includes files, executable,
libraries etc. So the purpose of this diagram is different,
Component diagrams are used during the implementation
phase of an application. But it is prepared well in advance to
visualize the implementation details. Initially the system is
designed using different UML diagrams and then when the
artifacts are ready component diagrams are used to get an idea
of the implementation.

This diagram is very important because without it the


application cannot be implemented efficiently. A well
prepared component diagram is also important for other
aspects like application performance, maintenance etc.

These diagrams show the physical components of a system.


To clarify it, we can say that component diagrams describe
the organization of the components in a system.

Organization can be further described as the location of the


components in a system. These components are organized in a
special way to meet the system requirements.

Component diagrams are very important from implementation


perspective. So the implementation team of an application
should have a proper knowledge of the component details.

4.8 DEPLOYMENT DIAGRAM

APPLICATION PROCESS
SERVER
PROCESS MODEL

DataBase

Deployment diagrams are used to visualize the topology of the


physical components of a system where the software
components are deployed. So deployment diagrams are used
to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships.

The name Deployment itself describes the purpose of the


diagram. Deployment diagrams are used for describing the
hardware components where software components are
deployed. Component diagrams and deployment diagrams are
closely related.

Component diagrams are used to describe the components


and deployment diagrams shows how they are deployed in
hardware. UML is mainly designed to focus on software
artifacts of a system. But these two diagrams are special
diagrams used to focus on software components and hardware
components.

So most of the UML diagrams are used to handle logical


components but deployment diagrams are made to focus on
hardware topology of a system. Deployment diagrams are
used by the system engineers.

Deployment diagram represents the deployment view of a


system. It is related to the component diagram. Because the
components are deployed using the deployment diagrams. A
deployment diagram consists of nodes. Nodes are nothing but
physical hardware’s used to deploy the application.
PROCESS MODEL

Deployment diagrams are useful for system engineers. An


efficient deployment diagram is very important because it
controls the following parameters

 Performance

 Scalability

 Maintainability

 Portability

Deployment diagrams are mainly used by system engineers.


These diagrams are used to describe the physical components
(hardware’s), their distribution and association. Software
applications are developed to model complex business
processes.
TECHNICAL DETAILS

CHAPTER – 5
TECHNICAL DETAILS

5.1 SOFTWARE SPECIFICATION

 Android Studio:-This tool provided us with the interface


and editor to develop apps.

5.2 HARDWARE SPECIFICATION

 Operating System : All Android Platform

 RAM : 512 MB

 Processor : 1Ghz

 Space : 200 MB

CODING

CHAPTER – 6

CODING

MAIN.XML

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"

tools:context="com.example.nikhilpatidar.e
_noticeboard.Main">
<ImageView
android:layout_width="400dp"
android:layout_height="400dp"
android:src="@drawable/images"
android:scaleType="fitXY"
/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="STUDENT LOGIN"
android:textSize="20dp"
android:layout_gravity="center"
android:id="@+id/button"
/>
<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="ADMIN LOGIN"
android:textSize="20dp"
android:layout_gravity="center"
android:id="@+id/button2"
/>
</LinearLayout>
CODING

MAIN.JAVA
package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Main extends


AppCompatActivity {
Button button,button2;
@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

button=(Button)findViewById(R.id.button);
button.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new
Intent(Main.this, LoginPage.class);
startActivity(in);
}
});

button2=(Button)findViewById(R.id.button2)
;
button2.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new
Intent(Main.this, Adminlogin.class);
startActivity(in);
CODING

}
});

}
}

LOGINPAGE.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="com.example.nikhilpatidar.e
_noticeboard.LoginPage"
android:orientation="vertical">
<TextView

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/msgtxt"/>

<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:hint="username"
android:textSize="30dp"
android:id="@+id/username"
android:layout_margin="10dp"
/>
<EditText
CODING

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:hint="password"
android:textSize="30dp"
android:inputType="textPassword"
android:id="@+id/password"
android:layout_margin="10dp"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Login"
android:id="@+id/login"
android:layout_gravity="center"
android:textSize="25dp"

/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:hint="haven't register
yet!!!!"
android:id="@+id/textView"
android:textSize="20dp"

android:layout_gravity="center_horizontal"
android:clickable="false"
android:layout_margin="20dp"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/register"
android:layout_gravity="left"
android:textSize="20dp"/>

</LinearLayout>
CODING

LOGINPAGE.JAVA
package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class LoginPage extends


AppCompatActivity {
EditText username;
CODING

EditText password;
Button Login;
Button register;
@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_login_pag
e);

username=(EditText)findViewById(R.id.usern
ame);

password=(EditText)findViewById(R.id.passw
ord);

Login.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View
v) {
DBHandler dbHandler =
new DBHandler(LoginPage.this);
if
(dbHandler.LoginAdmin(username.getText().t
oString(), password.getText().toString()))
{
Intent in = new
Intent(LoginPage.this, TimeLine.class);
startActivity(in);
} else {
TextView txt =
(TextView) findViewById(R.id.msgtxt);

txt.setText("Please enter correct username


or password.");
}
}

});

register.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View
v) {
Intent in = new
CODING

Intent(LoginPage.this, Register.class);
startActivity(in);
}
});
}

ADMINLOGIN.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
CODING

xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="com.example.nikhilpatidar.e
_noticeboard.LoginPage"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/msgtxt"
/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:hint="username"
android:textSize="30dp"
android:id="@+id/username"
android:layout_margin="10dp"
/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:hint="password"
android:textSize="30dp"
android:inputType="textPassword"
android:id="@+id/password"
android:layout_margin="10dp"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Login"
android:id="@+id/login"
android:layout_gravity="center"
android:textSize="25dp"

/>

<TextView
CODING

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:hint="haven't register
yet!!!!"
android:id="@+id/textView"
android:textSize="20dp"

android:layout_gravity="center_horizontal"
android:clickable="false"
android:layout_margin="20dp"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/register"
android:layout_gravity="left"
android:textSize="20dp"/>

</LinearLayout>
CODING

ADMINLOGIN.JAVA
package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Adminlogin extends


AppCompatActivity {
EditText username;
EditText password;
Button Login;
Button register;
@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_adminlogi
n);

username=(EditText)findViewById(R.id.usern
ame);

password=(EditText)findViewById(R.id.passw
ord);

Login=(Button)findViewById(R.id.login);

register=(Button)findViewById(R.id.registe
r);
CODING

Login.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
DBHandler dbHandler=new
DBHandler(Adminlogin.this);

if(dbHandler.LoginAdmin(username.getText()
.toString(),password.getText().toString())
){
Intent in = new
Intent(Adminlogin.this,
NoticeActivity.class);
startActivity(in);
}else{
TextView
txt=(TextView) findViewById(R.id.msgtxt);
txt.setText("Please
enter correct username or password.");
}
}
});
register.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new
Intent(Adminlogin.this,
RegisterAdmin.class);
startActivity(in);
}
});
}

}
CODING

REGISTER.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="com.example.nikhilpatidar.e
_noticeboard.Register"
android:orientation="vertical">
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Username"
android:textSize="30sp"/>
<EditText
CODING

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/stusername"
/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Branch"
android:textSize="30sp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/stbranch"/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Semester"
android:textSize="30dp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/stsem"/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Section"
android:textSize="30sp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/stsection"/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Password"
android:textSize="30sp"/>
<EditText
CODING

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/stpassword"
android:inputType="textPassword"/>
<Button

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/stregister"/>

</LinearLayout>

REGISTER.JAVA
CODING

package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Register extends


AppCompatActivity {
EditText
stusername,stbranch,stsem,stsection,stpass
word;
Button stregister;
@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_register)
;

stusername=(EditText)findViewById(R.id.stu
sername);

stbranch=(EditText)findViewById(R.id.stbra
nch);

stsem=(EditText)findViewById(R.id.stsem);

stsection=(EditText)findViewById(R.id.stse
ction);

stpassword=(EditText)findViewById(R.id.stp
assword);

stregister=(Button)findViewById(R.id.streg
ister);
stregister.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Student student = new
Student(stusername.getText().toString(),
stpassword.getText().toString(),stbranch.g
etText().toString(),
stsem.getText().toString(),stsection.getTe
CODING

xt().toString());
DBHandler dbHandler = new
DBHandler(Register.this);

dbHandler.RegisterStudent(student);
Intent in = new
Intent(Register.this, TimeLine.class);
startActivity(in);
}
});
}
}

REGISTER-ADMIN.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"

tools:context="com.example.nikhilpatidar.e
_noticeboard.RegisterAdmin">
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Username"
android:textSize="30sp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/adusername"
/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
CODING

android:text="Department"
android:textSize="30sp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/addepartment"/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Password"
android:textSize="30sp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:id="@+id/adpassword"
android:inputType="textPassword"/>
<Button

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:text="Register"
android:id="@+id/adreg"/>

</LinearLayout>

REGISTER-ADMIN.JAVA
package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class RegisterAdmin extends


AppCompatActivity {
EditText
adusername,addepartment,adpassword;
Button adreg;
@Override
CODING

protected void onCreate(Bundle


savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_register_
admin);

adusername=(EditText)findViewById(R.id.adu
sername);

addepartment=(EditText)findViewById(R.id.a
ddepartment);

adpassword=(EditText)findViewById(R.id.adp
assword);

adreg=(Button)findViewById(R.id.adreg);
adreg.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Admin admin=new
Admin(adusername.getText().toString(),adpa
ssword.getText().toString(),addepartment.g
etText().toString());
DBHandler dbHandler=new
DBHandler(RegisterAdmin.this);

dbHandler.RegisterAdmin(admin);
Intent in = new
Intent(RegisterAdmin.this,
NoticeActivity.class);
startActivity(in);
}
});
}
}

NOTICE.XML
CODING

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="com.example.nikhilpatidar.e
_noticeboard.Notice"
android:orientation="vertical">
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="@string/titleStatus"
android:textSize="30sp"
android:textColor="#ff6000"
android:layout_gravity="center"
android:layout_margin="10dp"/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="TITLE"
android:id="@+id/text"
android:gravity="left"
android:layout_margin="10dp"
android:textSize="20dp"/>
<EditText

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:hint="Title name"
android:id="@+id/titlename"/>
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="content"
android:paddingTop="10dp"
android:textSize="20dp"/>
<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"
CODING

android:hint="@string/hinttext"
android:id="@+id/edittext"
android:layout_margin="10dp"
android:layout_marginRight="20dp"
android:layout_weight="0.73" />

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="@string/button"
android:textSize="20dp"
android:id="@+id/broadcast"

android:layout_gravity="center_horizontal"
/>

</LinearLayout>
CODING

NOTICE.JAVA
package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import android.graphics.Color;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class NoticeActivity extends


AppCompatActivity {
private static final String
Tag="activity_status";
EditText edittext,titlename;
Button broadcast;

@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_notice);

edittext=(EditText)findViewById(R.id.editt
ext);

titlename=(EditText)findViewById(R.id.titl
ename);
broadcast.setOnClickListener(new
View.OnClickListener() {
@Override
CODING

public void onClick(View v) {

Intent in = new
Intent(NoticeActivity.this,
TimeLine.class);
startActivity(in);
}
});
}

CLASSES.JAVA (Admin)
package
com.example.nikhilpatidar.e_noticeboard;

/**

*/
class Admin {
public String Username;
public String Password;
public String Department;

public Admin(String username, String


password, String department) {
Username = username;
Password = password;
Department = department;
}
}
class Student {
public String Username;
public String Password;
public String Branch;
public String Section;
public String Semester;
CODING

public Student(String username,


String password, String branch, String
section, String semester) {
Username = username;
Password = password;
Branch = branch;
Section = section;
Semester = semester;
}
}
class notice {
public String Creator;
public String Content;
public String Title;
public String Time;

public notice(String creator, String


content, String title, String time) {
Creator = creator;
Content = content;
Title = title;
Time = time;
}
}

CLASSES.JAVA (STUDENT)
package
com.example.nikhilpatidar.e_noticeboard;

/**
*
*/
class Admin {
public String Username;
public String Password;
public String Department;

public Admin(String username, String


password, String department) {
Username = username;
Password = password;
Department = department;
}
}
class Student {
public String Username;
public String Password;
public String Branch;
public String Section;
CODING

public String Semester;

public Student(String username,


String password, String branch, String
section, String semester) {
Username = username;
Password = password;
Branch = branch;
Section = section;
Semester = semester;
}
}
class notice {
public String Creator;
public String Content;
public String Title;
public String Time;

public notice(String creator, String


content, String title, String time) {
Creator = creator;
Content = content;
Title = title;
Time = time;
}
}

CLASSES.JAVA (NOTICE)
package
com.example.nikhilpatidar.e_noticeboard;

/**
*.
*/
class Admin {
public String Username;
public String Password;
public String Department;

public Admin(String username, String


password, String department) {
Username = username;
Password = password;
Department = department;
}
}
class Student {
public String Username;
public String Password;
CODING

public String Branch;


public String Section;
public String Semester;

public Student(String username,


String password, String branch, String
section, String semester) {
Username = username;
Password = password;
Branch = branch;
Section = section;
Semester = semester;
}
}
class notice {
public String Creator;
public String Content;
public String Title;
public String Time;

public notice(String creator, String


content, String title, String time) {
Creator = creator;
Content = content;
Title = title;
Time = time;
}
}

DBHANDLER.JAVA

package
com.example.nikhilpatidar.e_noticeboard;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import
android.database.sqlite.SQLiteDatabase;
import
android.database.sqlite.SQLiteOpenHelper;

public class DBHandler extends


SQLiteOpenHelper {

public static final String


DATABASE_NAME="data.db";
public static int DATABASE_VERSION=1;
public static final String
CODING

AdminTable="AdminTable";
public static final String
StudentTable="StudentTable";
public static final String
AT_ID="_id";
public static final String
ST_ID="_id";
public static final String
AT_Username="Username";
public static final String
AT_Password="Password";
public static final String
AT_Department="Department";
public static final String
ST_Username="Username";
public static final String
ST_Branch="Branch";
public static final String
ST_Section="Section";
public static final String
ST_Password="Password";
public static final String
ST_semester="Semester";
public static final String
NoticeTable="NoticeTable";
public static final String N_id="_id";
public static final String
N_Creator="Creator";
public static final String
N_Content="Content";
public static final String
N_Title="Title";
public static final String
N_Time="Time";

public DBHandler(Context context) {


super(context, DATABASE_NAME,
null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase
db) {
String createAdminTable="CREATE
TABLE " + AdminTable + " (" +
AT_ID +" INTEGER PRIMARY
KEY AUTO," +
AT_Username + " TEXT
UNIQUE," +
AT_Password + "TEXT," +
AT_Department + "TEXT" +
CODING

");";
db.execSQL(createAdminTable);
String createStudentTable="CREATE
TABLE " + StudentTable+"("+
ST_ID+" INTEGER PRIMARY
KEY AUTO,"+
ST_Username+" TEXT
UNIQUE,"+
ST_Branch+" TEXT,"+
ST_Section+" TEXT,"+
ST_semester+" TEXT,"+
ST_Password+" TEXT"+
");";
db.execSQL(createStudentTable);
String createNoticeTable="CREATE
TABLE "+ NoticeTable+"("+
N_id+" INTEGER PRIMARY KEY
AUTO,"+
N_Creator+" INTEGER,"+
N_Content+" TEXT,"+
N_Title+" TEXT,"+
N_Time+" TEXT"+
");";
db.execSQL(createNoticeTable);

@Override
public void onUpgrade(SQLiteDatabase
db, int oldVersion, int newVersion) {

public void RegisterAdmin(Admin admin)


{
SQLiteDatabase
db=getWritableDatabase();
ContentValues values=new
ContentValues();

values.put(AT_Username,admin.Username);

values.put(AT_Password,admin.Password);

values.put(AT_Department,admin.Department)
;
db.insert(AdminTable,null,values);
}
public void RegisterStudent(Student
student){
SQLiteDatabase
CODING

db=getWritableDatabase();
ContentValues values=new
ContentValues();

values.put(ST_Branch,student.Branch);

values.put(ST_Section,student.Section);

values.put(ST_semester,student.Semester);

values.put(ST_Password,student.Password);

values.put(ST_Username,student.Username);

db.insert(StudentTable,null,values);
}

public boolean LoginAdmin(String


username,String password){
SQLiteDatabase
db=getReadableDatabase();
String query="SELECT * FROM " +
AdminTable + " WHERE " + AT_Username + " =
'"+username+"' AND " + AT_Password + " =
'" + password + "';";
Cursor c=db.rawQuery(query,null);
return c.moveToFirst();
}
public boolean LoginStudent(String
username,String password){
SQLiteDatabase
db=getReadableDatabase();
String query="SELECT * FROM " +
StudentTable + " WHERE " + ST_Username + "
= '"+username+"' AND " + ST_Password + " =
'" + password + "';";
Cursor c=db.rawQuery(query,null);
return c.moveToFirst();
}

public void Addnotice (notice notice)


{
SQLiteDatabase db =
getWritableDatabase();
ContentValues values = new
ContentValues();
values.put(N_Creator,
notice.Creator);
values.put(N_Content,
notice.Content);
values.put(N_Title, notice.Title);
CODING

values.put(N_Time, notice.Time);
db.insert(StudentTable, null,
values);
}
}

RESEND.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_ver
tical_margin"

android:paddingLeft="@dimen/activity_horiz
ontal_margin"

android:paddingRight="@dimen/activity_hori
CODING

zontal_margin"

android:paddingTop="@dimen/activity_vertic
al_margin"

tools:context="com.example.nikhilpatidar.e
_noticeboard.Resend"
android:orientation="vertical">
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="YOUR NOTICE HAS BEEN
BROADCASTED !!!!"
android:textSize="20dp"
android:layout_gravity="center"
android:clickable="false"/>
<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Broadcast NEW
Notice"
android:paddingTop="20dp"
android:gravity="center"
android:id="@+id/resend"
/>

</LinearLayout>

RESEND.JAVA
CODING

package
com.example.nikhilpatidar.e_noticeboard;

import android.content.Intent;
import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Resend extends


AppCompatActivity {
Button resend;
@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_resend);

resend=(Button)findViewById(R.id.resend);
resend.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new
Intent(Resend.this, NoticeActivity.class);
startActivity(in);
}
});
}
}
CODING

TIMELINE.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/
apk/res/android"

xmlns:tools="http://schemas.android.com/to
ols"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"

tools:context="com.example.nikhilpatidar.e
_noticeboard.TimeLine">
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_gravity="center"
android:text="@string/titleStatus"
android:textSize="30dp"
android:textColor="#330199"/>
<ScrollView

android:layout_width="wrap_content"

android:layout_height="wrap_content">
<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:id="@+id/timeline"
android:background="#6000"/>
</ScrollView>
</LinearLayout>
CODING

TIMELINE.JAVA
package
com.example.nikhilpatidar.e_noticeboard;

import
android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class TimeLine extends


AppCompatActivity {

@Override
protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_time_line
);
}
}
CODING

STRINGS.XML
<resources>
<string name="app_name">E-Notice
Board</string>
<string
name="titleStatus">NOTICE</string>
<string name="hinttext">please enter
140-character Message</string>
<string
name="button">BROADCAST</string>

</resources>

MANIFEST
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/
apk/res/android"

package="com.example.nikhilpatidar.e_notic
eboard">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Main">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
CODING

/>

<category
android:name="android.intent.category.LAUN
CHER" />
</intent-filter>
</activity>
<activity
android:name=".LoginPage">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
<activity
android:name=".Register">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
<activity
android:name=".RegisterAdmin">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
<activity
android:name=".NoticeActivity">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
CODING

android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
<activity
android:name=".TimeLine">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
<activity
android:name=".Adminlogin">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
<activity android:name=".Resend">
<intent-filter>
<action
android:name="android.intent.action.MAIN"
/>

<category
android:name="android.intent.category.DEFA
ULT" />
</intent-filter>
</activity>
</application>

</manifest>
TESTING

CHAPTER – 7
TESTING

7.1 TESTING USED

BLACK BOX TESTING

 It is also known as Specification Testing.


 It is used to check if our code works on specification as
mentioned earlier.
 Black-box testing is a method of software testing that
examines the functionality of an application without
peering into its internal structures or workings. This
method of test can be applied to virtually every level of
software testing: unit, integration, system and acceptance.
 Specific knowledge of the application's code/internal
structure and programming knowledge in general is not
required. The tester is aware of what the software is
supposed to do but is not aware of how it does it. For
instance, the tester is aware that a particular input returns a
certain, invariable output but is not aware of how the
software produces the output in the first place.
 Test cases are built around specifications and
requirements, i.e., what the application is supposed to do.
Test cases are generally derived from external descriptions
of the software, including specifications, requirements and
design parameters. Although the tests used are
primarily functional in nature, non-functional tests may
also be used. The test designer selects both valid and
invalid inputs and determines the correct output, often
with the help of an oracle or a previous result that is
known to be good, without any knowledge of the test
object's internal structure.
TESTING

7.2 TEST CASES AND RESULT

 UNIT TESTING
In this each program code written by us is built by combining
various units of software code together when each module or
unit is tested independently.

 INTEGRATION TESTING
The units that have been constructed as smaller module which
are combined or integrated together to form parts of the final
system to be delivered.

 SYSTEM TESTING
The integrated modules are combined to form final system and
the testing is performed on that system.

 ACCEPTANCE TESTING
This testing is performed by us in order to check if there are
any interface gap in our code or spelling mistakes. It is also
required to check whether our code is according to industry
standards or not.

We have tested each module present in our code and made


following changes -
 The XAMPP server which we were using before was not
able to connect with the database, therefore we have to
replace it.
 Every module was initially tested by running it on the
browser and further modifications were applied to the
code.
TESTING

 Various changes in code were made for retrieving


radio button and checkboxes value from the database.
SCREEN LAYOUTS

CHAPTER – 8

SCREEN LAYOUTS
SCREEN LAYOUTS
SCREEN LAYOUTS
SCREEN LAYOUTS
FUTURE ENHANCEMENTS

CHAPTER – 9

FUTURE ENHANCEMENTS

LIMITATIONS

 This is connected to offline database.


 It is focused mainly on one college.

FUTURE WORK

 It can be connected to online database.


 It can be made available on Google play store.
CONCLUSION

CHAPTER - 10
CONCLUSION

 This app is developed to reduce paper usage.


 It is time efficient.
 We have worked on Android Studio.
 The project has been deployed in order to fulfill the
objective.

BIBLIOGRAPHY

 https://www.youtube.com
 www.stackoverflow.com
 www.developer.android.com
CONCLUSION

Das könnte Ihnen auch gefallen