# Project Directory Structure

This document provides an overview of the directory structure for the project.

- `src`: Contains the source code for the project.
  - `content_scripts`: Stores the content script that is needed to load extensions
  - `pages`: The .jsx and .css files of the three main pages that the user interacts with on the extension.
  - `services`: Stores the IP, notification, and WebRTC services that the app uses to fetch IP's and display leak notices.
  - `storageService`: A storage service that allows the baseline to be saved locally on the users device.
  - `utils`: Folder that stores a time logging service that stores the time and date of each IP capture. Currently unused but will be re-implemented in a future update. 
  - `popup.jsx`: A lower level popup file that loads before any other file, initializes the extensions permissions and page folders.
  - `popup.html`: Houses the title name of the project.
  - `popup.css`: Establishes lower level CSS properties for the program, mainly for the scrolling bar.
  - `offscreen.js`: A javascript file that establishes the WebRTC IP service as an offscreen service, allowing for WebRTC scanning in the background. 
  - `offscreen.html`: Title file for the offscreen javascript file.
  - `manifest.json`: Contains all the basic info of the app, including its description, version number, and permissions. 
  - `background.js`: File that utilizes Chromes background service to fetch IPs in the background, save program settings, and clear notification alerts. 

- `public`: Contains an icon folder that houses five differently sized picture files of the program icon. 

- `vite.config.js`: Central configuration file for Vite.

- 'README.md': The README file from the GitHub repo for the project.

- `package-lock.json`: Autogenerated file that locks in the NPM packages that are used for production

- `package.json`: Lists all the metadata and dependencies for the project. 

- `LICENSE`: GNU Public License file that the project uses. 

- `.gitignore`: Names all of the file and folders that aren't pushed to GitHub. 

















