/Glossary

Glossary is what it says a glossary, saving words, their explanation and the source of that explanation in tables using Firebase.

Primary LanguageJavaScript

Glossary

Glossary is what it says a glossary, saving words, their explanation and the source of that explanation in tables using Firebase.

Features

  • Usersystem with login, logout, registration, forgot password
  • Users can create their own set of lists
  • Words can be added to lists
  • Words can be deleted from lists
  • Words can be modified
  • Search across table
  • Responsive, optimized for mobile devices

How can this be setup?

For Development

  • Clone this repository
  • Run the bin/install.sh
  • Run the bin/run-local.sh
  • Remove the webapp/Component-preload.js
  • Create a firebase project
  • Configure the firebase settings according to your project in the "webapp/Component.js" file

For Production and Development

  • Clone this repository
  • Create a firebase project
  • Configure the firebase settings according to your project in the "webapp/Component.js" file
  • In your firebase project choose the Cloud Firestore and setup the following rules for it:
 service cloud.firestore {
  match /databases/{database}/documents {
    match /tables/{tableId} {
      allow create: if request.auth.uid != null && request.auth.uid == request.resource.data.owner;
      allow read, delete: if request.auth.uid != null && request.auth.uid == resource.data.owner;
    }
    
    match /words/{wordId} {
      allow read, delete: if request.auth.uid != null && request.auth.uid == get(/databases/$(database)/documents/tables/$(resource.data.table)).data.owner;
      allow create, update: if request.auth.uid != null && request.auth.uid == get(/databases/$(database)/documents/tables/$(request.resource.data.table)).data.owner;
    }
  }
} 
  • Deploy the "/webapp" folder on a webserver or use firebase to deploy it directly there

How does it look like?

Login

Login

Overview

Overview

Registration

Registration

Password Reset

Registration

Adding a Word

Adding a word

Creating a List

Adding a list

Deleting a Word

Deleting a word

Editing a Word

Editing a Word

Mobile Version

Login Overview Editing a Word