The admin panel for SumTing to manage their contrubutions and orders
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
SumTing admin panel is built to manage the orders and contributions of the SumTing platform. It is built with the following technologies:
In this section we list our used Frameworks/Libaries and technologies.
Read the Installation section to get a local copy up and running.
- Docker (https://docs.docker.com/get-docker/)
- Docker-compose (https://docs.docker.com/compose/install/)
-
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
-
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.
-
To stop the project use the following command
docker-compose down
-
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
-
When they are linked you can access the project on your domain. Test backend:
http GET *:/8083/help
- 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
-
Use the Docker compose command to build up the Containers. Make sure Docker desktop is running!
docker-compose build
-
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 localhost:8080, the backend is avaible on localhost:8083 if you are running the project on your local machine
-
To stop the project use the following command
docker-compose down
Test backend: localhost:8083/help
For more examples, please refer to the Documentation
- 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).
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 |
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 |
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 |
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 |
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).
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
Team 1 - @Sum-1 - Contact on teams or discord
Project Link: SumTing admin panel