Welcome to Group 35's project for the module Software Engineering Project at Trinity College Dublin. We are working with Dell to make an Action Items Dashboard. This Dashboard will provide Dell employees a web-based UI with supporting APIs on top of the existing database that allows for management of the action items events data.
The action items system supports marketing campaigns that allow Dell to reengage customers who have abandoned their carts through email. A series of microservices across cart & personalization communicates with each other through HTTP as well as AMQP to allow for the events to be processed accordingly. Events are stored in a Postgres database to allow persistence of up to four weeks. Currently management and visibility of the events are cumbersome and not efficient. For example, to see how many customers would receive abandoned cart emails that contain a specific product, this would require an engineer to write dedicated queries in the production database which is not practical.
Our goal is to build a fully featured web-based UI with supporting APIs on top of the existing database that allows for all analytical as well as management tasks of the action items events data. This will increase visibility as well as productivity of all admin tasks related to the dataset. This project will be developed for running on Windows only.
ActionItemsDashboardDemo.mp4
You need a few things before you can run this project.
You can install Visual Studio 2022 on Microsoft's Visual Studio downloads page. You need Visual Studio 2022 as you will be using .NET 6.0 which is only compatible on Visual Studio 2022. Make sure to install the '.NET Desktop Development' Workload when installing.
You can install .NET 6.0 on Microsoft's .NET downloads page. You can confirm that you have it by running "dotnet --version" in your command prompt - you should see version 6.0 displayed.
You can install PostgreSQL for Windows on the PostgreSQL Windows installer downloads page. Keep a record of the details used for the hostname, username, password, and database name as they will be needed. To confirm that it is running, you can press the windows key + R, and search "services.msc", and check if PostgreSQL is running or not.
- Clone the repository.
- Open Visual Studio 2022, and click on "Open a project or solution"
- Click on the web-app.sln file inside the
web-app
directory from this project that you cloned.
- Now that the web-app C# project is in your Visual Studio 2022 IDE, you need to right click on the project and click
Manage Nuget Packages
.
- From there, under Browse, search for
npgsql
and select the first entry as shown below and install. You can learn more about it here.
- Now search for
DotEnv.Core
and select the first entry as shown below and install. You can learn more about it here.
- Finally, search for
Microsoft.TypeScript.MSBuild
and select the first entry as shown below and install. You can learn more about it here.
- Now you need to setup the environment variables for the C# code to connect to your PostgreSQL server. Go into the main directory of the project, and run the shell script using
sh ./setupEnv.sh
(or just./setupEnv.sh
in windows powershell). It will ask you a number of questions, and it will make and fill a.env
file inside of/web-app
for you.
-
Now you can run the program
Program.cs
inside of Visual Studio 2022. You can see the PostgreSQL database being populated using PgAdmin4 which is installed automatically when you install PostgreSQL for Windows. It should be on the left, an example would be under Servers -> PostgreSQL -> Databases -> postgres -> Schemas -> actionitemsdata -> Tables -> actionitems. You can right click this, and press 'View/Edit Data' and finally click 'All Rows', and you can see the sample data loaded into the table. -
You will also see the web-app application being run. The demonstration video above shows how the web application dashboard should look.
Author | Current Year | Course |
---|---|---|
Prathamesh Sai | 3rd year | Computer Science |
Luke Seckerson | 3rd year | Computer Science |
Varjak Alex Wolfe | 3rd year | Computer Science |
Thomas Moroney | 2nd year | Computer Science |
Kevin Morley | 2nd year | Computer Science |
Eimear Ryan | 2nd year | Computer Science and Business |