Skip to content

VulpesPaw/FireBookList

Repository files navigation

FireBookList - Google Firebase

Background

The FireBookList was used for my Gymnasium Exam Thesis – "Firebase - En analys mellan olika serverspråk", graduation 2021; Kattegattgymnasiet, Halmstad. The thesis compares the differences between a Firebase production and a PHP production. This is the firebase project and it is compared to my earlier PHP-Booklist project.

Thesis

See 'Firebase - En analys mellan olika serverspråk'

Purpose

The Firebook Firebase project is a book lister, where users can input books and series which in turn can be seen by anybody.

Google's purpose behind Firebase is that it should be quick and easy to set up.

Project requirements:

  • Firebase BaaS

  • Firestore DaaS

  • Authentication

  • Authorization

  • Full CRUD

  • JavaScript Front-end

Development

The project is developed in front-end JavaScript utilizing Google Firebase; a BaaS (Backend-as-a-Service), and FireStore; the corresponding DaaS (Database-as-a-Service). Configurations and rules-sets were made in the Firebase configuration panel.

Firestore comes by default with security features such as database serialization and such.

The firebase project includes but is not limited to the following functionalities:

  • Firebase Authentication and Firebase Authorization

  • Firebase BaaS

  • Firestore DaaS

  • Single Page functionalities

  • Multiple pages, including all entry overview and detailed view

  • Full CRUD with authentication configured in Firebase configurator

  • User data stored in Firestore


Firebase Authentication does not allow custom data to be applied to its users, such as nicknames or roles. It contains only a user email address and a password. In order to circumvent the data limitation, excess user data gets stored in Firestore.

GUI

The main page, with a view of different data entries:

firebooks_preview

Serialization

The project is Serialized from sensitive data.

.\validation\key.js should contain the following:

// Your web app's Firebase configuration
var firebaseConfig = {
  apiKey: 'SECRET_API_KEY',
  authDomain: 'AUTHENTICATION_DOMAIN',
  projectId: 'PROJECT_ID',
  storageBucket: 'FIRESTORE_DATABASE_KEY',
  messagingSenderId: 'MESSENGER_ID',
  appId: 'APPLICATION_ID',
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);

The entire key is accessible through the Firebase Configuration Panel.

License

ISC License, see License.md

About

FireBookList is a booklist which stores book-entries in Firestore

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published