Giter VIP home page Giter VIP logo

p3's Introduction

Contributors Issues


Logo

AAU P3 Project | talDigital

Digital Information Boards

View Admin Demo · talDigital.dk · Contact

About The Project

With the growing use of technology and with 90% of the Danish population having access to a smartphone it would seem useful to replace physical elements with software solutions as new innovations and ideas arise.

The purpose of this project is to develop a dynamic and flexible digital information board, with the ability to easily change the information on the visitor application using an administration panel. These digital information boards can both replace physical information boards and be an addition to any company seeking to share information.

The development process is done in collaboration with talDigital and with the utilisation of design guidelines presented in SU and DEB. Furthermore, the software solution was created by using the following technologies; progressive web application, Blazor, Bootstrap and MySQL. The solution consists of two web pages, the visitor application and the administrator panel. The visitor application is developed to be viewed on a mobile device and is concluded by test participants as intuitive to use. The administrator panel is developed to be viewed on a larger screen, such as a laptop or desktop, and tested to be intuitive and easy to use.

The solution is successful in giving a dynamic digital information board with an administrator panel and is considered a useful proof-of-concept for talDigital.

Built With

This project is build using ASP.NET, Blazor Server and Blazor Webassembly.

Getting Started

To run the program, please follow these simple steps.

Prerequisites

Before

  • Install .NET 5.0 Runtime (Win)

Run

  1. Clone the repository
    gh repo clone andreaslborg/P3
    
  2. Choose which application you want to run
    cd P3/ManagementPages
    
    or
    cd P3/VisitorApplication/Server
    
  3. Run the application
    dotnet watch run
    

Contact

Software group mail - [email protected]
Or contact Andreas Løvig Borg - [email protected]

Project Link: github.com/andreasborgaau/P3

p3's People

Contributors

andreaslborg avatar dolmer1 avatar emiliesonne avatar jhbengtsson avatar lasse2507a avatar lugialukas avatar mariusgardshodn avatar

Stargazers

 avatar

Watchers

 avatar

p3's Issues

Implement model classes

  • Administrator
  • Category
  • (Editor - maybe first later, as this is not high priority)
  • InformationBoard
  • License
  • Post

final functionality management pages

  • add post,
  • edit category,
  • edit information board
  • delete post
  • delete category
    • vi foreslår at der laves en ny modal til dette (så der er en til post, og en til category)

Implement TestLicenseWithData

I thought it would be nice to have a set of test data, so I created a class for that. It should be initialized with a set of information boards, categories and posts in the constructor, so that it can be used in the UI to test how it works/looks with correct bindings.

  • Implement class (?)
  • Implement 'Initialize' method to be called in constructor, that adds hardcoded info boards, categories and posts

Set up html for pages and components in UI

Set up the needed html (use hard coded properties in the @code part when needed) for the following files. I named the different components of the MainPage "XX-Overview", and they represent the three main components of the page, i.e. the list of information boards in the left side, the list of posts to the right, and the list of categories in the top. When writing the html for the main page, the different overviews should be inputted to the html as html elements.

  • CategoryOverview
  • InformationBoardOverview
  • PostOverview
  • Index
  • Admin
  • Product owner

Find virksomhed

  • Kontakt virksomheder
  • Afhold møde med 1-2 virksomheder
  • Udvælg samarbejdspartner

Tilføj viewmodels

Tilføj viewmodels i functions-mappen:

  • LicenseViewModel
  • InformationBoardViewModel
  • CategoryViewModel
  • PostViewModel

Alle viewmodels skal indeholde et model-objekt samt en liste til det underliggende niveau (L -> IB, IB -> C, C -> P) og en metode der henter de objekter, der skal ind på listen.
Derudover skal funktionerne, som skal bruges på UI'en laves her.
I koden på pagesne skal viewmodel-metoderne "wrappes" i metoder/kald, som der skal bindes til på knapperne i UI'en.
License-viewmodel'en skal tilføjes til admin/owner pages med dependency injection

Database setup

  • Hvilken database (MySQl, MS SQL server, PostgreSQl..)?
  • Hvilken database skal vi bruge (udbyder)?
  • Hvad skal vi bruge til at kommunikere med databasen?
  • Hvordan skal databasens indhold struktureres?

Product owner and admin frontend

Branch: issue-52

Product owner

Modals

  • Help
  • Profile
  • Edit license
  • Edit admins
  • See statistic

Other functions

  • Add a working dropdown
  • Functional log out

Admin

Modals

  • Help
  • Profile
  • Edit post
  • Add post
  • New category
  • Edit categories
  • Edit information board
  • QR code
  • See statistic
  • Delete confirmation

Other functions

  • Add a working dropdown
  • Change category in the navigation bar
  • Change information board on the table
  • Functional log out

Set up authentication/authorization system

Use App Service

Inspiration:
https://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization?toc=%2Faspnet%2Fcore%2Ftoc.json&bc=%2Faspnet%2Fcore%2Fbreadcrumb%2Ftoc.json&view=aspnetcore-6.0
https://youtu.be/ntmV9nj4N2Y
https://youtu.be/m1aWGR2uKGg
https://techcommunity.microsoft.com/t5/apps-on-azure/azure-app-service-authentication-8211-app-roles/ba-p/392361

  • Kunderne skal kunne oprette sig på en måde, så de får de rigtige roles (fx admin) - kan det være sådan at de får et link til oprettelse?
  • De skal ligeledes have det rigtige 'tag' i forhold til hvilken licens, de hører til
  • hvert link skal fx kun kunne bruges én gang (af hensyn til noget sikkerhed sådan da)

Emilies ønskeseddel

Lav generic method til at hente models i DbService

  • Den skal også tilføjes til interfacet
  • DbService skal kun kaldes fra viewmodels'ne

Code structure

  • Choose MVC/MVVM - or maybe none of them?
  • Create all files and folders
  • Add function classes - now or when needed?
  • Add function classes to services (see blazor server notes for instructions, or watch video about dependency injection)
  • Delete unnecessary files from template

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.