Skip to content

About

FBLA coding and programming 2023-2024 competition code

Resources

Stars

2 stars

Watchers

2 watching

Forks

Repository files navigation

Connect CTE

Connect CTE: Store buissness and community partners data easily and safely.

Website: fbla23jk.web.app

Developed with the software and tools below.

Firebase JavaScript HTML5 Mocha ESLint Ajv JSON Bootrap Vscode


Quick Links


Overview

Connect CTE is a web application designed for Connect CTE partners to manage and access crucial data efficiently. Utilizing Firebase for user authentication and Firestore for database management, the platform ensures secure operations for verified users based on their roles, maintaining data integrity and access control. The project focuses on showcasing user-friendly interfaces and seamless user experiences, with features like fetching server items for dynamic content, managing database indexes for optimal performance, and handling user authentication seamlessly. By combining a robust backend architecture with polished frontend elements like CSS styling and interactive UI components, Connect CTE offers a valuable solution for partners to engage with Connect CTE resources effortlessly.


Features

Feature Description
⚙️ Architecture The project has a modular architecture with various dependencies like firebase, js-yaml, mocha, bootstrap.
🔩 Code Quality The codebase uses eslint to enforce style, uses mocha to test features and be bug free. Indicating a focus on maintaining code quality standards.
📄 Documentation Readme.md file and comments within the code for easier understanding of the code.
🧪 Testing Testing frameworks utilized are mocha and eslint, emphasizing a focus on code quality assurance.
🛡️ Security Safe access using firebase authentication using google sign in and firestore.rules.
📦 Dependencies Key dependencies include firebase, bootstrap, mocha, and more.

Repository Structure

└── FBLA23/
    ├── LICENSE
    ├── README.md
    ├── .eslintrc.js
    ├── firebase.json
    ├── firestore.indexes.json
    ├── firestore.rules
    ├── package-lock.json
    ├── package.json
    ├── public
    │   ├── asset
    │   │   ├── connect_cte-white.png
    │   │   ├── connect_cte.png
    │   │   └── logo-only.png
    │   ├── help.html
    │   ├── home.html
    │   ├── index.html
    │   ├── script.js
    │   ├── app.js
    │   └── styles.css
    └── test
        ├── package-lock.json
        ├── package.json
        └── test.js

Files

.
File Summary
package.json Gives current information of project's necessary libraries and tools it needs to work correctly.
firebase.json Code snippet in firebase.json manages Firestore rules & hosting config, setting up necessary ports for emulators. It ensures secure data access & deploys web app correctly.
firestore.rules Code snippet in firestore.rules governs Firestore database access for partners collection based on user roles, verifying partner data integrity and validity while ensuring restricted operations for verified users in the parent repository architecture.
package-lock.json Code snippet: Gives current information on the dependencies or packages installed for a node. js project, including their exact version numbers.
firestore.indexes.json Code Summary: This snippet manages Firestore indexes & field overrides. Vital for optimizing database performance & customizing schema for the parent repository's Firestore architecture.
public
File Summary
styles.css Code snippet in public/styles.css resets default CSS properties for consistent styling across the web app. It configures layout, typography, and color scheme, enhancing user experience throughout the platform.
index.html Code in public/index.html sets up Connect CTE's landing page, allows user to login into website.
script.js Code in public/script.js drives user authentication via Firebase in the FBLA23 repository. It redirects users to index.html when signed in, improving user experience and security.
home.html Code in public/home.html: Initialize Firebase Auth, Firestore, and Functions, enabling user authentication and real-time database updates. Enhances user experience by handling authentication and data synchronization seamlessly.
help.html Code in public/help.html enhances UI by displaying Connect CTE information.
app.js Code snippet in public/app.js manages user authentication and Firestore database connections. Handles user sign-in/out UI state changes. Key elements: authentication, Firestore DB. Supports user interaction on web app.
test
File Summary
test.js Emulates behavior of the code using mocha and test the if the code is error free and does all necessary functionality.

Website URL

fbla23jk.web.app


Getting Started

If you want to make changes to the code:

Requirements

Ensure you have the following dependencies installed on your system:

  • firebase: version 13.5.2
  • mocha: version 10.3.0
  • node.js: version 20.11.0
  • avj: version 6.12.4

Installation

  1. Clone the FBLA23 repository:
git clone https://github.com/JuneKim0712/FBLA23
  1. Change to the project directory:
cd FBLA23
  1. Install the dependencies:
> npm install -g firebase-tools
> npm install -g mocha
> npm install -g avj

Tests

To execute tests, run:

> npm run test

License

This project is protected under the GPL-3.0 License. For more details, refer to the LICENSE file.


Copyright Information

The Connect CTE website was created entirely by Junwoo Kim and Gabriel Atienza. The website was developed through Visual Studio Code by Microsoft Corporation.

The Logo of Connect CTE was created entirely by Gabriel Atienza using Canva Pty Ltd.

Firebase by Alphabet Inc. was used to store the website's data, including information about the school's career and technical education department's business and community partners and permission to access individual email accounts.

Firebase, through Google Analytics for Firebase, may log user actions such as click events, average engagement time, app stability, and more.

Any analytical data collected on the user can not be used to identify the user in any way.

The App does not question the user for any personal information and does not log or store any personal information relating to the user locally or in an online backend.

Firebase is a trademark of Google, LLC.

Google Analytics is a trademark of Google, LLC.

About

FBLA coding and programming 2023-2024 competition code

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages