Giter Club home page Giter Club logo

csu33013-project's Introduction

Action Items Dashboard (in partnership with Dell)

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. image

A brief description of the existing action items system

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.


image

What are we trying to make?

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.

Demonstration

ActionItemsDashboardDemo.mp4

A few prerequisites to run this project

You need a few things before you can run this project.

Visual Studio 2022

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.

.NET 6.0

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.

PostgreSQL

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.

How to run the project

  1. Clone the repository.
  2. Open Visual Studio 2022, and click on "Open a project or solution"

Screenshot 2022-03-31 at 23 39 20

  1. Click on the web-app.sln file inside the web-app directory from this project that you cloned.

Screenshot 2022-04-12 at 12 08 52

  1. 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.

Screenshot 2022-03-31 at 23 45 52

  1. From there, under Browse, search for npgsql and select the first entry as shown below and install. You can learn more about it here.

Screenshot 2022-03-31 at 23 45 52

  1. Now search for DotEnv.Core and select the first entry as shown below and install. You can learn more about it here.

Screenshot 2022-04-01 at 00 14 03

  1. Finally, search for Microsoft.TypeScript.MSBuild and select the first entry as shown below and install. You can learn more about it here.

Screenshot 2022-04-12 at 12 13 36

  1. 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.

Screenshot 2022-04-01 at 00 14 03

  1. 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.

  2. You will also see the web-app application being run. The demonstration video above shows how the web application dashboard should look.

Authors

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

csu33013-project's People

Contributors

eimearryan avatar level-1-developer avatar lydiauwu avatar saisankp avatar tmoroney avatar varjakw avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

saisankp

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.