Skip to content

A side screen for a much larger project. Flask REST API provides functionality to fetch data from a T-SQL database (mainly logging tables) to a Vue.js frontend that displays logs table on a single screen using Vuetify for making debugging a lot easier for Devs and QAs.

Notifications You must be signed in to change notification settings

Bill-Klay/Vue-Logs-Screen

Repository files navigation

Vue Logs Screen

Compliance Monitoring AKA Risk Based Assessment is a tool for analysis and generating risk scores from compliance data of pharmaceutical industries. The product itself on a much larger scales takes time in debugging and altering stored procedures as per business requirements. This Logs Screen acts as an admin panel for the product itself and presents interactive tables for the Developer, Quality Assurance, and Business Analysts for adjusting algorithm weights, the algorithms being executed themselves and a quick overview for the last execution of the ETL or risk engine. All the current customers, product releases and servers avalable can accessed via a single page application and edited.

On accessing the designated IP and port on the QA server the application has been deployed to you'll be presented with a log in screen. If you're new to the CC/CM team please create a new user login password and proceed accorsingly. You'll be presented with the Harry Potter oath of "I solemnly swear that I'm upto no good" since you'll be accessing sensitive information of the selected customer's database and configuration. And the username and password are upside down just to keep things different ?? Select the database server and the client database you'd like to access and click Fetch Data which will inturn populate all the tables, the list of which can be accessed from the Hamburger menu on the top left of the screen.

MIT License


Logo

Vue Logs Screen

An awesome logging screen for your projects!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project 📖

Demo shot

This admin panel screen has been developed for the ease and use of developers, quality management team and business analysts in mind. Configuration and debugging tables are presented on the home screen of the application. The single page application uses Vue as the frontend framework of choice which is connected to a Microsoft SQL Server 2019 database at the back and fetches the relied information. Changes can be commited, ETL job can be executed and dynamic lists can be refreshed. A side hamburger menu can be used for the ease of traversal. The list of servers is predetermined for the which can be selected from the select database dropdown. After selecting the sever the list of database will be populated and the desired one can be selected from the second drop down. This drop down is a multiselect component of Vue and can be installed seperately. On selecting a database the disabled buttons will become available along with the Reset Defer List and Reset Workbench button becomes visible. Once the complete data has been fetched from the selected database a GIF will appear along the logo of the application which will basically summarize the results of the last execution and state its status. The status are:

  • All Good!
  • All Good! See some warnings
  • Crash!
  • Risky Transaction is empty!

The GIF are randomly fetched from a predetermined list which can be found in the assets directory. Make ample adjustments to the risk engine and its parameters, hit enter and your query will be saved, but not yet executed. To make the visible adjustments to the database itself click on Commit Changes and Execute Job afterwards to start the ETL process. Each table data, button action, and user sessions are maintained via Flask server which has been served using Waitress due to a windows environment. Flask RESTful also utilzes a TinyDB database for storing user login credentials and maintaining session using Basic HTTP authentication using flask's own HTTP auth library. Both the frontend and the backend are hosted on a local server by creating a separate Windows Service for each. An Express server was created to run the Vue app and was converted into a windows server using node-windows. Whilst the Flask server was hosted via server script running waitress and made into a Windows Service via NSSM (Non-Sucking Service Manager). Please Log Out once your purpose of visiting the app is achieved.

(back to top)

Built With 💻

This section lists the technological stack that was utilized for the purpose of creating this application along with the specific purpose they serve.

  • Microsoft SQL Server | Database Server
  • Vuetify | Vue's very own material design framework
  • Vue.js | The goto choice for a progresive Frontend design
  • Flask | Flask RESTful for backend
  • NSSM | For creating windows services in the nicest way possible
  • Express.js | Fast minimalist Node.js server
  • TinyDB | A NoSQL database developed in Python
  • Waitress | Production grade WSGI for Flask

(back to top)

Getting Started

In this section you can get the idea of to setup your own logs screen.

Prerequisites

Environment setting required:

  • npm

    npm install npm@latest -g
  • Python

Installation

Below are the instructions for installing the required libraries and frameworks required for the proper functioning of the application.

  1. Clone the repo
    git clone https://github.com/Bill-Klay/Vue-Logs-Screen.git
  2. Install NPM packages
    npm install
  3. Install Python packages
    pip install -r requirements.txt
  4. Create Windows Service for the frontend
    node winsw.js

(back to top)

Usage build build mode

The usage is pretty mainstream and has been stated at the start of this ReadMe. Besides the viewing functionality of the application we can also edit data across the tables. All the flags are presented in color chips which can be flipped. On clicking an editable field a dialogue box appears which has been made persistant to avoid accidental confirmations. What this means is that the edit box can be cancelled by hitting the ESC key, any changes made will be neglected. On striking the Enter key any changes made to the current cell will be reflected, saved and converted into a query for execution, but not yet commited to the database. To do so, click the Commit Changes button which will return the status of the changes moved.

login screen

Complete Demo shot

For more examples, please refer to the Documentation at the start.

(back to top)

Roadmap

  • Add Files_Specs table
  • Add Reset Workbench
  • Add Reset Defer List
  • Adjust tables according to business needs
  • More tables?

See the open issues for a full list of proposed features (and known issues).

(back to top)

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

Thank you for visiting 💚

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact 📧

(back to top)

Acknowledgments 🎁

I've used this space to give credits to a few of my favourite links I had fun visiting while creating this ❤️

(back to top)

About

A side screen for a much larger project. Flask REST API provides functionality to fetch data from a T-SQL database (mainly logging tables) to a Vue.js frontend that displays logs table on a single screen using Vuetify for making debugging a lot easier for Devs and QAs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages