Skip to content

Latest commit

 

History

History

summit-2023

Summit 2023 UI

conventionalcommits

Overview

Summit 2023 UI application has been developed using ReactJS, MUI, Redux and i18n. This frontend application features mainly Category, Nominee and Leaderboard pages by interfacing with our backend services, through a Rest API. The application also integrates Web3 component Cardano Connect with Wallet for user registration.

You can visit now the website that hosts this app using this link.

Overview Image

Getting started

Requirements

  • Node.js 18.x LTS

Available Scripts

In the project directory, you can run:

npm install

This will install all packages in node_modules folder.

Create a .env file

Before running the app you need to create a .env file by executing the following command:

cp .env.example .env

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

Running backend services in localhost

To run the backend services you will need to open multiple terminals and follow this instructions:

Terminal 1 - Data follower app on port: 9090

cd cf-cardano-ballot/backend-services/voting-ledger-follower-app
./gradlew bootRun

Terminal 2 - Voting app on port: 9091

cd cf-cardano-ballot/backend-services/voting-app
./gradlew bootRun

Terminal 3 - Vote verification app on port: 9092

cd cf-cardano-ballot/backend-services/voting-verification-app
./gradlew bootRun

Terminal 4 - User verification app on port: 9093

To run this service you need to provide your own AWS credentials to enable the sms verification service.

export AWS_SNS_ACCESS_KEY_ID=...
export AWS_SNS_SECRET_ACCESS_KEY=...
cd cf-cardano-ballot/backend-services/user-verification-service
./gradlew bootRun

Content Mapping

The UI application populates the content (Presentation Names, Urls, Description, Links etc...) from a JSON by mapping Category ids and Proposal ids which were generated by Backend service.

The current summit-2023 application's content is fetching from this JSON.

Content mapping file preview