/bugzilla_vue

Example bugzilla app that I build when learning new technology. Vue edition.

Primary LanguageVue

Bugzilla

Welcome to Bugzilla!

The goal of this project is to take various concepts of web software design and apply them in a vue application.

Project description

Bugzilla is a simple project management solution similar to Pivotaltracker. In bugzilla you can create projects, which have stories. Each story can have tasks and comments. Story also has status from started to finished. Project owners can also invite other users (registered or unregistered). Invitation emails are sent to invited users asking them to join the project.

Tech stack

  • vue 3
  • vue-router
  • bootstrap 5
  • axios api
  • yup validation

Development Requirements

  • vue 3
  • nodejs
  • yarn
  • direnv

To install them run:

brew install nodejs direnv yarn

Backend API for this Single Page Application

This application is using backend API https://github.com/atrzaska/bugzilla_api. It will not work without it.

Development Setup

direnv allow
yarn && yarn serve

Now you can visit localhost:8080 from your browser.

What is implemented

  • auth system
    • login
    • registration
    • email confirmation
    • password recovery via email
    • resend confirmation instructions via email
    • cancel account from profile settings
    • update email from profile settings with reconfirmation via email
    • update password in profile settings
  • project member invitation system via email
  • design based on customized Bootstrap 5
  • user role system with access management
  • story state system

Pages/components:

  • product page with product layout

  • signin page

  • signup page

  • send reset password email page

  • reset password page

  • resend confirmation email page

  • terms page

  • privacy page

  • profile settings page

  • projects list/new/edit pages

  • delete project modal

  • stories list (current, backlog, icebox, done) pages

  • stories new/edit page

  • delete story modal

  • members list

  • invite new member page

  • delete member confirmation modal

  • leave project confirmation modal

  • change role of member page

  • header with profile menu

  • sidebar with app modules

  • logged in app pages with app layout

  • auth pages with auth layout

  • bootstrap 5 toast component

  • bootstrap 5 modal component

  • live validations using bootstrap and yup

  • backend validation

Available commands

npm install
npm run serve
npm run build
npm run test:unit
npm run test:e2e
npm run lint