Skip to content

AleBL/Media-App

Repository files navigation

Media App (TMDB)

An application that organizes and manages watched series and movies through TMDB. This application is built with TypeScript, utilizing Vue3, Electron, ViteJS, and Electron Builder.

About

This application utilizes ViteJS for building and serving your (Vue powered) front-end process, it provides Hot Reloads (HMR) to make development fast and easy.

Building the Electron (main) process is done with Electron Builder, which makes this application easily distributable and supports cross-platform compilation.

Built With

  • Vue
  • Vite
  • NodeJS
  • TypeScript
  • Electron
  • TailwindCSS
  • ESLint
  • Bootstrap

Getting started

Packages needed in linux:

sudo apt-get install -yq --no-install-recommends libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libnss3 libgbm-dev

Installed versions:

node -v # 20.9.0
yarn -v # 1.22.22
npm  -v # 10.1.0

Install dependencies ⏬

npm install
# OR
yarn install

Start developing ⚒️

# starts application with hot reload
npm run dev

# OR

yarn dev

Additional Commands

Build

npm run build # builds application, distributable files can be found in "release" folder

# OR

npm run build:win   # uses windows as build target
npm run build:mac   # uses mac as build target
npm run build:linux # uses linux as build target

# OR

yarn build:win   # uses windows as build target
yarn build:mac   # uses mac as build target
yarn build:linux # uses linux as build target

Optional configuration options can be found in the Electron Builder CLI docs.

Lint and Prettier

npm run lint # run eslint and prettier
# OR
yarn lint # run eslint and prettier

Taze

npm run deps:update # run taze major -I
# OR
yarn deps:update # run taze major -I

Project Structure

📦electron
 ┗ 📜index.ts # entry of Electron-Main
📦src
 ┣ 📦assets
 ┣ 📦components
 ┣ 📦locales
 ┣ 📦plugins
 ┣ 📦presets # PrimeVue Components Styled with Tailwind CSS - https://github.com/primefaces/primevue-tailwind
 ┣ 📦router
 ┣ 📦services
 ┣ 📦stores
 ┣ 📦styles
 ┣ 📦types
 ┣ 📦util
    ┗ 📜tmdb.js
 ┗ 📦views

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

Media App made with Vue.js and TMDB API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published