Skip to content

A unique adminpanel for sumting, build as HVA assignment

License

Notifications You must be signed in to change notification settings

pepijndik/sumting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Release

coverage report MIT License pipeline status


Logo

Admin panel

The admin panel for SumTing to manage their contrubutions and orders
Explore the docs »
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

Sumting admin panel

SumTing admin panel is built to manage the orders and contributions of the SumTing platform. It is built with the following technologies:

(back to top)

Built With

In this section we list our used Frameworks/Libaries and technologies.

  • Vue
  • Vue

(back to top)

Getting Started

Read the Installation section to get a local copy up and running.

Prerequisites

Production Installation

  1. Download the latest release from the releases page This will only be a Dockercompose file. With preconfigured settings to deploy our application. Run the following command to build the latest version of the application.

    docker-compose build
  2. When the installation is done you can start the project with the following command

    docker-compose up -d

    This will launch the Dockercontainers and start the project on port 8080 You can now access the project frontend on :8080, the backend is available on :8083.

  3. To stop the project use the following command

    docker-compose down
  4. The final step is to Link these containers to a propertied domain. This can be done by using a reverse proxy like Nginx. You can find a tutorial on how to do this here: https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-16-04

  5. When they are linked you can access the project on your domain. Test backend: http GET *:/8083/help

(back to top)

Dev Installation

  1. Clone our repository with the tag @latest, and go into the directory
  git clone https://gitlab.fdmci.hva.nl/se-ewa/2022-2023-1/sum-1.git
  1. Use the Docker compose command to build up the Containers. Make sure Docker desktop is running!

    docker-compose build
  2. When the installation is done you can start the project with the following command

    docker-compose up -d

    This will launch the Dockercontainers and start the project on port 8080

  3. You can now access the project frontend on localhost:8080, the backend is avaible on localhost:8083 if you are running the project on your local machine

  4. To stop the project use the following command

    docker-compose down

Test backend: localhost:8083/help

(back to top)

Usage

For more examples, please refer to the Documentation

(back to top)

Roadmap

  • Mockup designs
  • Create Empty frameworks frontend and backend
  • Build Layout
  • Connect Database
  • Crud Orders
  • Crud Clients
  • View Projects

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

(back to top)

User stories and methods made by members

Pepijn

Userstory Method
As developer i wanted to have a search component Frontend: Searchabledropdown
As admin i wanted to secure my account trough 2fa Frontend: VerifyCode, Backend Rest: Authcontroller
As admin i wanted a global overview of my projects Frontend: ListProjects, Backend Rest: ProjectController
As develpor i wanted to have a paginated view for the project table Frontend: ListProjects & Pagination, Backend Rest: ProjectController & Project interface

Kaan

Userstory Method
As an admin, I want to be able to see all the order lines in the dasboard, so i have an clear overview on the orderlines. Frontend: Dashboard, BarGraph,DashboardServiceApi, Backend: DashboardController, DashboardRepository, Graph model
As an admin I want to be able to edit my orders so I can fix any mistakes I made Backend: OrderController
As an admin I want to be able to delete my orders so i can remove orders from the database. Backend: OrderController, OrderLineRepository
As an administrator, I want to be able to see an overview of the statistics of all the orders, so I can estimate how well things are going Frontend: Dashboard, OrderLineGraph, DashboardServiceApi, Backend: DashboardController, OrderLineRepository

Colin

Userstory Method
As an admin, I want to be able to select one or multiple projects when creating an order Frontend: OrderSubItem, OrderTotalCostSubItem & OrderCreate
As an admin, I want to be able to search for an order by its client and project Frontend: OrderView, Backend Rest: OrderController, OrderRepository
As an admin I want a neat application, so that I have a clear overview of the application Frontend: NavigationDropdownItem, SubDropdownitem, NavigationItem & AdminLayout

Dia

Userstory Method
As an admin, I want to be able to edit a Batch, so that I can change any data stored from said batch Frontend: BatchEdit, BatchApiService Backend: BatchController
As an admin, I want to be able to select a project when creating a batch, so that I can see create a batch of that specific project Frontend: BatchCreate
As an admin, I want to be able to view all batches, so that I can search for a specific one Frontend: BatchView, BatchRow, BatchApiService Backend: BatchController
As an admin, I want to have a delete button on each batch when viewing them all, so that I can delete a batch that I don't need anymore Frontend: BatchView, BatchRow, BatchApiService Backend: BatchController
As an admin, I want to see a list of all the order lines from the selected project for the batch that I'm making, so that I can select or deselect individual orders lines Frontend: BatchCreate, OrderApiService Backend: OrderController
As an admin, I want to be able to create a Batch by filling in the Create batch page, so that I have a new batch to work on Frontend: BatchCreate, BatchApiService Backend: BatchController
As an admin, I want be able to input the amount of contributions I want for the batch that I'm creating so that I don't have to select all orders individually Frontend: BatchCreate
As an admin, I want to be able to input an description for the batch that I'm creating, so that the email that goes to the clients has content Frontend: BatchCreate

Fenne

Userstory Method
As an admin, I want to be able to create a client, so that new clients have their own account. Frontend: ClientCreate, UserApiService, Backend: UserController
As an admin, I want to be able to edit a client, so that I can change any data stored from said client Frontend: ClientEdit, UserApiService, Backend: UserController
As an admin, I want to be able to view all clients, so that I can search for a specific one Frontend: ClientView, UserApiService, Backend: UserController
As an admin I want to be able to delete orders, so that unneeded orders don't fill up the orders list Frontend: OrderView, OrderApiService, Backend: OrderController, OrderModel

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

License

This application is licensed under the closed licenses.

A closed license is a type of license that restricts the use, modification, and distribution of software. It is often used to protect the intellectual property rights of the software creator and ensure that the software is only used in the manner intended by the creator. In the case of the Sumting Admin Panel application, a closed license would likely be used to prevent unauthorized use or distribution of the software. This means that users of the Sumting Admin Panel would be required to purchase a license in order to use the software and would not be able to modify or distribute the software without permission from us. A closed license is often accompanied by terms and conditions that outline the specific ways in which the software can be used, as well as any penalties for misuse. These terms and conditions may include provisions for updates and maintenance, as well as limitations on the number of users or devices on which the software can be installed. Overall, a closed license serves to protect the rights of the software creator and ensure that the software is used responsibly.

It is important for users of the Sumting Admin Panel to carefully read and understand the terms of the closed license in order to avoid any potential legal issues. See the full license at: License

(back to top)

Contact

Team 1 - @Sum-1 - Contact on teams or discord

Project Link: SumTing admin panel

(back to top)

Acknowledgments

(back to top)