Sie sind auf Seite 1von 22

JORHAT INSTITUTE OF SCIENCE & TECHNOLOGY

KEEP_DIARY

MINOR PROJECT REPORT ON A PERSONAL DIARY APPLICATION

- - - GUIDED BY - - -

MISS HIMADRI NEOG


ASSISTANT PROFESSOR, DEPT. OF CS & IT

- - - SUBMITTED BY - - -
NAME : AKASH AICH ROLL NO. : 01/02 SEMESTER : 4th SEM COURSE : BSc(IT)
CONTENTS
- CERTIFICATE
- ACKNOWLEDGEMENT
- PREFACE
- ABSTRACT
- INTRODUCTION
- ABOUT PROGRAM & FEATURES OF THE PROGRAM
- SOFTWARE AND HARDWARE REQUIREMENTS
- DFD
- ER DIAGRAM
- SAMPLE CODE
- FIREBASE DATABASE SNAPSHOT
- FIREBASE AUTHENTICATION SNAPSHOT
- SCREENSHOTS
- CONCLUSION
- BIBLIOGRAPHY
CERTIFICATE

It is certified that Akash Aich bearing Roll : 01 No. : 02, a student of BSc(IT)

4th semester of Jorhat Institute Of Science & Technology under Dibrugarh

University completed the minor project under our complete Guidance and

Supervision and submitted his project of “ keepDairy “ during the session 2019.

SIGNATURE OF CONCERN TEACHER

Internal External
ACKNOWLEDGEMENT
The satisfaction that accompanies that the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it
possible, whose constant guidance and encouragement crown all efforts with success.

Firstly, I would like thank my parents and Almighty for giving me the opportunities and
facilities for education.I express my heartfelt gratitude towards Jameson Mushahary ,
H.O.D of CS & IT Dept. for granting us permission to work on this project. I am greatly
indebted to Mrs. Himadri Neog,Assistant Professor of CS & IT Dept., for her sincere
guidance and encouragement throughout the project.

Lastly, thanks to all the friends for their kind co-operation and help.

Thanks To All !

Akash Aich
PREFACE
In every professional course theoretical knowledge gained should be backed by
some practical experience. In a professional course, such as B.Sc(IT), we, the
students are equipped with strong theoretical knowledge about computer
operations. To reinforce this strong theoretical base by practical knowledge,we
the students of Jorhat Institute Of Science And Technology under Dibrugarh
University have to submit a minor project. We are assigned certain projects
whose successful completion can and will prove beneficial to us.

I hereby submit this project report to our department of B.Sc(IT). I would


appreciate suggestions and criticism.
ABSTRACT
Android application has proved its importance in many aspects of human life and they are
becoming one of the reliable sources of getting information from the internet through
application specific task. We all must have decide to write diary at least once? What is new
in it we may take our pen and book out and can write the diary but is it maintaining
consistency? No. My Moments is an application which allows you to write your personal as
well as official diary anywhere while traveling, in college, outside of your home or even at
home while you are enjoying your solitude. You don’t have to carry a physical dairy and a
pen with you. Whenever you feel like you want to write , just open the app, select the date
and title and start writing your heart out. This way it provides a facility to write dairy from
anywhere and with comfort. Secondly, physical personal dairies are vulnerable as if
anybody else gets your dairy, that person will know all about you and can sometime harm
you, which is dangerous. keepDairy assures privacy as you have to register with a password
for an account on the app.
INTRODUCTION
The diary is the best way to note down your day to day activity so that in future you may be
able to have look at your achievement and happy moments. Diaries can be of two type
personal diary and work diary (professional diary).Personal diary is to be kept secret one
where as private diary can be shared with organization to which you are abounded. My
Moments application will allow you to have your personal diary and Professional diary in the
same case but with different privacy menu and allow you to note down your memories in
your cell phones which is much secured than traditional way i.e. book .User must write the
diary on daily basis for habit building, writing in the phone is very similar to chatting which
makes the process of writing dairy even more interesting.When it comes to write diary we
thought about writing text but it is not the efficient way or we can express our thoughts in
more expressive way through emojis that will make this application more interesting than a
physical dairy. Android application is the way to make the life easy and convenient and to
make your smart phone smarter this application will help and keeping memories of your
memorable moments and to watch that moment will give and different filling as a person.
About Program :
As eminent by its name that it should be an ordinary personal diary but in reality it is not.
This program is very useful for many professional persons for instance; It is quite useful for
doctors. Doctors can use it for taking appointments and also they can keep the record of his
patients as long as he can. The travelers also use it for their purposes, what is their next
plan? Where they have to go further? And also they can save their memories of the journey
etc, for instances.

Features of Program :
1) The most important feature is that it is the password protected.
2) This program has a capability of storing unlimited (depends on the memory) records.
3) The user can also take a look on his records.
4) The user has a power of deleting any record.
SOFTWARE REQUIREMENTS :

Following are the softwares used to prepare this project --- >

- Windows 10 ( Operating System )


- Android Studio 3.1.0
- Google Chrome ( For Accessing Firebase )

HARDWARE REQUIREMENTS :

Following are the hardware details of the system used --- >

- Processor : Intel(R) Core(TM) i5-7200U


- CPU : 2.71 GHz
- System Type : 64-bit Operating System x64-based processor
- RAM : 8 GB
DATA FLOW DIAGRAM ( LEVEL 0 ) :
DATA FLOW DIAGRAM ( LEVEL 1 ) :
ER DIAGRAM :
SAMPLE CODE ( AUTHENTICATION ) :
package com.infiam.keepdiary;

import android.content.Intent;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class MainActivity extends AppCompatActivity {

private FirebaseAuth mAuth;


private FloatingActionButton addDiary;
private RecyclerView allDiaryView;

/**Store the reference to firebase database*/


private DatabaseReference diaryReference;

/**Checks whether the user is signed in to the firebase database */


@Override
public void onStart() {
super.onStart();

/**currrent user is null if not signed in and if user is signed in then it returns the id of the user.*/
FirebaseUser currentUser = mAuth.getCurrentUser();
if (currentUser == null) {
Intent auth = new Intent(getApplicationContext(), WelcomeActivity.class);
startActivity(auth);
//sends to welcome activity if not signed in.
finish();
}
else {
/**Rather then referencing to the whole app database, it references to the particular user's
credentials*/
diaryReference = FirebaseDatabase.getInstance().getReference()
.child(mAuth.getCurrentUser().getUid().toString());

/**It loads the all the notes of the registered user in a recycler view*/
FirebaseRecyclerAdapter<Diary, DiaryViewHolder> diaryRecyclerViewAdapter = new
FirebaseRecyclerAdapter<Diary, DiaryViewHolder>
(Diary.class, R.layout.single_diary_layout, DiaryViewHolder.class, diaryReference) {

@Override
protected void populateViewHolder(final DiaryViewHolder viewHolder, final Diary model, int
position) {

/**Retrieve the title&date from database and set it on recyclerview item*/


viewHolder.setTitle(model.getTitle());
viewHolder.setDate(model.getCreationtime());

//This returns the value of the clicked item.

final String creationTime = getRef(position).getKey();


/**Loads the diary into a new acrivity*/
viewHolder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Toast.makeText(getApplicationContext(),model.getTitle() +" at
"+creationTime,Toast.LENGTH_SHORT).show();
Intent viewDiary = new Intent(getApplicationContext(),ViewDiaryActivity.class);
viewDiary.putExtra("creationTime",creationTime);
startActivity(viewDiary);
}
});
}
};

allDiaryView.setAdapter(diaryRecyclerViewAdapter);
}
}
FIREBASE DATABASE SNAPSHOT
FIREBASE AUTHENTICATION SNAPSHOT
SCREENSHOTS
Home Page : Welcome Screen : Register Screen : Login Screen :

( MainActivity ) ( Welcome_Activity ) ( AuthActivity ) ( Authactivity )


View An Instance : Option To Add An New Instance Writing An Instance Or

Or Edit An Existing Instance : Editing An Existing Instance


CONCLUSION
This project was successfully completed, within the time span allotted. All the
modules are tested separately and input together to form the main system. Finally
the system is tested with real data and everything worked successfully. Thus the
system has fulfilled the entire objective identified.

The system had been developed in an attractive dialogue fashion. So


user with minimum awareness about computers can also operate our site easily.
To conclude this, we thank all the people who help us to complete this project.
BIBLIOGRAPHY
Books :
- Android Studio 3.0 Development Essentials - Android 8 Edition by Neil smyth ( book ).
- Java - The Complete Reference by Herbert Schildt ( book ).

Internet :

- https://www.udemy.com/android-p-kotlin-complete-android-app-development-bootcamp/learn/lecture
/13234446?start=0#overview ( UDEMY ANDROID COURSE )
- https://developer.android.com/docs ( GOOGLE ANDROID DOCUMENTATION )
- YOUTUBE -- 1) Prabeesh R K ( for android ) 2) Mr. Mahesh ( for android )
3) cheezycode ( for android ) 4) slidenerd ( for android )
- https://www.youtube.com/watch?v=XgCF58tuo2k&list=PLshdtb5UWjSrOJfpFOE-u55s3SnY2EO9v
- https://www.youtube.com/watch?v=ZKF8OgTVC9k&list=PLVlQHNRLflP-SWh-wFBAMx2rRlUjwkPsF
- https://www.youtube.com/watch?v=IGGT_jfZQrA
- https://www.youtube.com/watch?v=uic3TVp_j3M
- www.mysirg.com ( for java )
- https://firebase.google.com/docs ( FIREBASE DOCUMENTATION )

Das könnte Ihnen auch gefallen