All Projects → gges5110 → React Semantic Ui Sortable Table Example

gges5110 / React Semantic Ui Sortable Table Example

Licence: mit
A small demo for sortable tables of React Semantic UI.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to React Semantic Ui Sortable Table Example

Curriculum
Overview of the different modules and learning goals of the program.
Stars: ✭ 40 (-33.33%)
Mutual labels:  expressjs
Elfcommerce
A headless open source Ecommerce project written in ReactJS + ExpressJS
Stars: ✭ 47 (-21.67%)
Mutual labels:  expressjs
Node React Ecommerce
Build ECommerce Website Like Amazon By React & Node & MongoDB
Stars: ✭ 1,080 (+1700%)
Mutual labels:  expressjs
Now Purge
Remove now deployments without an alias
Stars: ✭ 42 (-30%)
Mutual labels:  now
Nodejs Socketio Chat App
MEAN Stack & Socket.IO Real-time Chat App | A MEAN stack based Real Time chat application
Stars: ✭ 45 (-25%)
Mutual labels:  expressjs
Kohei.dev
🌎 A Production-level Single Page App with Server Side Rendering
Stars: ✭ 50 (-16.67%)
Mutual labels:  now
Next Routes Middleware
Universal Lambda Routing
Stars: ✭ 37 (-38.33%)
Mutual labels:  expressjs
Mern Stack Authentication
Secure MERN Stack CRUD Web Application using Passport.js Authentication
Stars: ✭ 60 (+0%)
Mutual labels:  expressjs
Express Template
Starter template for Nuxt.js with Express.
Stars: ✭ 1,029 (+1615%)
Mutual labels:  expressjs
Bombanauts
Bombanauts, inspired by the original Bomberman game, is a 3D multiplayer online battle arena (MOBA) game where players can throw bombs at each other, make boxes explode, and even other players!
Stars: ✭ 54 (-10%)
Mutual labels:  expressjs
Gitwar
🚀 Gitwar - Compete with Github
Stars: ✭ 44 (-26.67%)
Mutual labels:  expressjs
Glorious Crud
A bare minimum and extensible crud generator
Stars: ✭ 45 (-25%)
Mutual labels:  expressjs
Mernapp youtube
Build a MERN Stack App from scratch, and deploy it to Heroku
Stars: ✭ 51 (-15%)
Mutual labels:  expressjs
Mean Angular4 Chat App
MEAN stack with Angular 4 Chat App
Stars: ✭ 41 (-31.67%)
Mutual labels:  expressjs
Express Ffmpeg
nodejs ffmpeg video transcode webui,基于nodejs的云转码系统 https://www.efvcms.com
Stars: ✭ 58 (-3.33%)
Mutual labels:  expressjs
Node Iframe Replacement
An alternative to sticking that lovely web app you just built into an <iframe> on a corp website
Stars: ✭ 37 (-38.33%)
Mutual labels:  expressjs
Dashboard Server
A JSON file RESTful API with authorization based on json-server
Stars: ✭ 48 (-20%)
Mutual labels:  now
Kap Now
Kap plugin - Share on ▲ZEIT now
Stars: ✭ 60 (+0%)
Mutual labels:  now
Node Express Typescript Boilerplate
A boilerplate for developing web apps with Node.js, Express.js & TypeScript. Demonstrates helpful recipes in 8 steps in individual branches.
Stars: ✭ 60 (+0%)
Mutual labels:  expressjs
Express React Hmr Boilerplate
A boilerplate for scaffolding production-ready MERN stack projects.
Stars: ✭ 51 (-15%)
Mutual labels:  expressjs

React-Semantic-UI-Sortable-Table-Example

An example for React Semantic UI sortable table.

Build and Deploy Coverage Status Codacy Badge CodeFactor

Prerequisite

Node.js runtime environment of 10.16.0.

Quick Start

# Install dependencies
npm ci

# Start JSON server on port 4000
npm run start:server

# Start client with hot reload on port 3000
npm run start

List All Available Custom Script

npm run

Build Client for Production

To compile the React component in production mode, type

npm run build

Client: Create React App

The React setup is bootstrapped with Create React App. Locally it serves public/index.html, and creates a bundle with src/index.jsx as the entry.

Locally it is running on port 3000, and proxies API calls through localhost:4000.

In production build it creates the bundle along with an injected index.html in build/, and can be served statically.

Server: JSON Server

This project uses JSON server to fulfill the API portion with a single JSON file.

Locally it let Create React App to serve the client, allowing for hot reload to happen.

In production we pick up the static assets built by npm run build, and serve them through the same backend port (4000).

Deployment

I deploy the application with docker, and is configured by now.json

Docker

# Build the image
docker build -t {SOME_TAG} .
# Run the container with exposing port 5000
docker run -p 5000:4000 {SOME_TAG}

Dev Guide

Code Formatting

We use prettier to format our code.

npm run prettier

Server APIs

Operation HTTP Method Example Remarks
Get Vehicle List Get /api/v1/vehicles?q=&_page=0&_limit=10&_order=asc&_sort=package Available query params: q, _offset, _limit, _order, _sort.
Toggle Favorite Put /api/v1/vehicles/:id Requires to send the JSON formatted vehicle in the body.

Sorting data on front-end v.s. back-end

Depending on the data set size and the connectivity, we can sort the vehicle data either on front-end or the back-end. When the data set size is small it is easier to send the whole data set to the client size and do all the sorting and filtering in the browser. But this will not scale well as the data size grows, especially it could have millons of rows. To limit the data being sent over to the front-end, I only allow 100 records per request.

Input Validation

Each time a character changes in filter input, it will check two things. 1) If the input contains invalid character, and 2) there is no result being found after applying the filter. For the first case, the input UI will turn red and a popup will show a message warning the user. If the filter will cause the result to be empty, the popup will inform the user about this. On the server side, it will also check if the input only contains alphanumerics, and will send a 422 response along with an error message.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].