This project is a lightweight Vue.js application designed to help you manage and maintain a listing of your personal DVD collection. It integrates with Firebase for hosting and data storage, and utilizes the OMDB API to fetch movie details. It fetches IMDB ratings but you can also add your own personal rating to titles. Managing your DVDs is behind a login that you can setup in Firebase.
The app fetches movie information from the OMDB API. To use this feature, you’ll need to sign up and obtain an API key from OMDB.
To store your data, you’ll need to configure a Firebase database. Ensure you have a Firebase project set up and add your credentials to the .env
file.
This app is deployed using Firebase Hosting. To deploy updates:
- Install the Firebase CLI.
- Run
npm run build
to build your app. - Run
firebase deploy
to push the latest version.
Make sure your Firebase authentication and permissions are properly configured. You’ll need to create a user account for logging in.
Ensure your Firestore database rules are set to the following:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
// Allow anyone to read the data
allow read: if true;
// Allow write only if the user is authenticated
allow write: if request.auth != null;
}
}
}
This configuration allows anyone to read the data, but only authenticated users can write to the database.
VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar).
TypeScript cannot handle type information for .vue
imports by default, so we replace the tsc
CLI with vue-tsc
for type checking. In editors, we need TypeScript Vue Plugin (Volar) to make the TypeScript language service aware of .vue
types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a Take Over Mode that is more performant. You can enable it by the following steps:
- Disable the built-in TypeScript Extension
- Run
Extensions: Show Built-in Extensions
from VSCode's command palette - Find
TypeScript and JavaScript Language Features
, right click and selectDisable (Workspace)
- Run
- Reload the VSCode window by running
Developer: Reload Window
from the command palette.
See Vite Configuration Reference.
npm install
npm run dev
npm run build
Lint with ESLint
npm run lint