Skip to content

Get the list of developers for intervention with a designated speaker

Notifications You must be signed in to change notification settings

sandhyasrini/Intervention-Randomizer-UI

Repository files navigation

Intervention List

This project was bootstrapped with Create React App.

Features

  • Display a table with details of developers
  • Ability to create a new User
  • Ability to Edit existing User
  • Generate a Random list for the intervention with a designated speaker
  • Generate an alphabetised list of speakers with a designated speaker
  • Pagination for the table component

Stacks used

  • Language: Typescript
  • Frontend development Library: ReactJS 18
  • State container: Redux, Redux Toolkit
  • CSS: Tailwind CSS
  • HTTP Client: Axios
  • Backend development Library: Node.js
  • ORM: Prisma
  • Database: Postgres
  • Web application framework: Express JS

Prerequisites

Prerequisite Link
Git 🔗
Node 16 🔗
Yarn 🔗
MongoDB* 🔗
Docker* 🔗

*You can have postgres either installed in your system or running in docker

Setup

Frontend

Install dependencies:

Clone this github repository: https://github.com/sandhyasrini/Intervention-Randomizer-UI

cd Intervention-Randomizer-UI
npm install

or

yarn install

Run the frontend:

npm run start

or

yarn start

Backend

Install dependencies:

Clone the git repository: https://github.com/sandhyasrini/Beyondplay-intervention-randomizer-api

cd Beyondplay-intervention-randomizer-api
npm install

or

yarn install

Run the backend

npm run serve

or

yarn serve

Database

  • If you have docker setup in your machine, you can follow the below steps to setup DB for the Application

Go to the API Project folder cloned in your local system

Build docker Image for Postgres:

docker build -t my-postgres-db ./ --no-cache

Check if image built:

docker images

eg:

$ docker images -a
REPOSITORY       TAG       IMAGE ID       CREATED        SIZE
my-postgres-db   latest    38036a25ec7b   13 hours ago   379MB

Run the image as a container:

docker run -d --name my-postgresdb-container -p 5432:5432 -e POSTGRES_PASSWORD={password} my-postgres-db

Make sure the beyond_play.sql file is present in the folder before running the container. This file creates the DB required for the application.

  • If you have Postgres installed in your local system, create a Database called beyond_play and run the beyond_play.sql in postgres to create the DB and inject data.

In the .env file, add your Database URL:

DATABASE_URL="postgres://{username}:{password}@localhost:5432/beyond_play"

If you're running in docker, the default username would be postgres unless specified otherwise

Accessing UI

The UI can be accessed in http://localhost:3000

Test cases

To run the test cases locally,

npm run test

And for the code coverage

npm run coverage

Todos / WIP:

These are some functionalities, updates that are being implemented.

  • E2E testing using Cypress
  • Authentication/Authorisation
  • Ability to search and find individual user

About

Get the list of developers for intervention with a designated speaker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages