Skip to content

EsmaNurSolmaz/Locked-Diary-App

Repository files navigation

Image 1 Image 2 Image 3 Image 4 Image 5

Locked Diary App

Overview

Locked Diary App is a secure mobile application built with React Native and Firebase. It allows users to maintain private diary entries that are encrypted with end-to-end encryption for maximum security. Each entry is encrypted with a unique key provided by the user during login, ensuring that only the user who created the entry can decrypt and view it. This application is ideal for those looking to keep their personal notes safe from unauthorized access, offering a high level of privacy and protection.

Features

  • Secure Storage: All diary entries are encrypted and stored securely in Firebase Firestore.
  • Authentication: Users can sign up, log in, and reset their passwords using Firebase Authentication.
  • Diary Entries: Users can create, view, and edit their daily diary entries.
  • Encryption: Each diary entry is encrypted with a user-specific key, ensuring that only the owner can decrypt and read their entries.

Technologies Used

  • React Native: For building the mobile application.
  • Firebase: For authentication, database storage (Firestore), and encryption.
  • Expo: For streamlined development and testing.
  • JavaScript: The primary language used in the development.

Installation and Setup

Prerequisites

  • Node.js (version 14 or higher)
  • Expo CLI (Install with npm install -g expo-cli)
  • Firebase Account
  • Firestore Setup: Create a Firebase project and set up Firestore to store diary entries.

Clone the Repository

git clone https://github.com/EsmaNurSolmaz/locked-diary-app.git
cd locked-diary-app
npx expo start

Project Dependencies

This project uses multiple npm packages. After cloning the repository, run the following command to install all necessary dependencies:

npm install

Firebase Configuration

To configure Firebase for your project, follow these steps:

  1. Go to the Firebase Console:

  2. Create a New Project or Use an Existing One:

    • Start a new project or select an existing one from your Firebase Console.
  3. Add Your Android/iOS App to the Firebase Project:

    • Follow the instructions in the Firebase Console to add your app (Android/iOS) to the Firebase project and obtain your firebaseConfig object.
  4. Replace the Contents of utils/firebaseConfig.js:

    • Open the utils/firebaseConfig.js file in your project directory.
    • Replace its contents with your Firebase configuration object. The file should look like this:
    // utils/firebaseConfig.js
    
    export const firebaseConfig = {
      apiKey: "YOUR_API_KEY",
      authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
      projectId: "YOUR_PROJECT_ID",
      storageBucket: "YOUR_PROJECT_ID.appspot.com",
      messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
      appId: "YOUR_APP_ID"
    };

    Usage

  • Sign Up / Log In: Create a new account or log in with existing credentials.
  • Add Diary Entries: Create new diary entries and secure them with encryption.
  • View/Edit Entries: Access your diary entries securely and make edits as needed.

Contact

For any questions or inquiries, please contact:

About

A secure, end-to-end encrypted mobile app for storing personal diaries.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors