The sacred oath();

I,  Luke Brown, a.k.a Dynamic_Gravity, will participate to the next Devember. My Devember will be  Protodesk: A Ticketing System . I promise I will program for my Devember for at least an hour, every day of the next December. I will also write a daily public devlog and will make the produced code publicly available on the internet. No matter what, I will keep my promise.

This year for my Devember project I have decoded to continue working on an exiting project. A ticket system I have dubbed, Protodesk.

Luke Brown / protodesk
GitLab Community Edition

I am making the project with a stack which consists of: Nuxt & Mariadb.

For day one, I spent my time thinking about how exactly I will execute my plan. This includes a feature requirements list for which I have appended to the README file to track the progress of the project. Once that was complete I created a new branch called nuxt-migration as I already had existing pieces of code written with standard Vuejs. Then my task of migrating all the code has begun!

Protodesk

A ticket system

Feature Roadmap

Below are the folling objectives represented at a high-level abstraction:

  • Tickets
    • [ ] CRUD
    • [ ] Search (+advanced)
    • [ ] Flagging
    • [ ] Templates
    • [ ] Testing
    • [ ] Emails (Nodemailer?)
    • [ ] Attachments/Images
  • Users
    • [ ] CRUD
    • [ ] Testing
    • [ ] Password management
  • Knowledgebase
    • [ ] CRUD
    • [ ] Testing
    • [ ] Statistics/Reporting
    • [ ] Attachments/Images
  • QOL
    • [ ] Themes
    • [ ] Mobile responsiveness
    • [ ] Queue subscription
  • Admin suite
    • [ ] User management
    • [ ] SLA management
    • [ ] Statistics/Reports
    • [ ] Database configuration
    • [ ] Database export/migration
  • API
    • [ ] Versioning
    • [ ] Health checks
    • [ ] PAT (Personal Access Tokens)
  • Scalibility
    • [ ] Docker
    • [ ] HA?

Contributing

# install dependencies
$ npm run install

# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm run start

# generate static project
$ npm run generate

For detailed explanation on how things work, check out Nuxt.js docs.