Jack Downson

Jack Downson

1604112060

A vocabulary tool for ESL teachers to increase student's audible/reading comprehension

Vocab Tiles

A vocabulary tool for ESL teachers to increase student’s audible/reading comprehension.

The problem: How to remotely teach basic vocabulary and simple phrases to Literacy students

This app helps students to learn and practice vocabulary that may have been taught in class, but which they have not yet mastered.

Students who are completely new to a language, and especially those whose prior knowledge differs highly from the target language, cannot read the directions in the target language. So the app plays audio of a word, and the student simply taps or clicks the tile that shows the correct word.

This app is most useful to students who can both see and hear, but the word also appears above the tiles, so deaf students can also benefit. It is also useful for teachers to see the students’ progress. The app will keep track of students’ average score per category as well as per quiz and display them in an admin area that only the teacher can access.

Stack

We used Vue.js are the UI frameworks with Nuxt for SSR. We use Express to write the REST API which connect to the PostgrSQL database running in a Docker instance. We used Google’s Firebase to handle user authentication and implemented a QR scanner to make logins simpler for illiterate students.

  • VueJS: A progressive, incrementally-adoptable JavaScript framework for building UI on the web.
  • Vuex: Centralized State Management for Vue.js.
  • NuxtJS: An intuitive VueJS frameworks which allows SSR, amoung many other features.
    • Content: Nuxt Content lets you write in a content/ directory and fetch your Markdown, JSON, YAML, XML and CSV files through a MongoDB like API, acting as a Git-based Headless CMS.
    • ExpressJS: A fast, unopinionated, minimalist web framework for node. The underlying HTTP server frameworks used by Nuxt.js to serve our app which can be hooked into to setup a REST API.
  • Axios: A promise based HTTP client for the browser and node.js
  • Vuesax: Component library for for Vue.js 2.
  • Tachyons: Rapid CSS prototyping. For the hackathon this is great, but we’ll probably remove it in prod and hand write the custom CSS+

Demo

Youtube

Screenshots

Download Details:

Author: NoahCardoza

Source Code: https://github.com/NoahCardoza/VocabTiles

#vue #vuejs #javascript

What is GEEK

Buddha Community

A vocabulary tool for ESL teachers to increase student's audible/reading comprehension
CODE VN

CODE VN

1639981967

Cách tạo bảng động trong React

Trong bài viết này, tôi sẽ cố gắng hướng dẫn cách tạo một bảng động trong react. Tôi biết nó khá đơn giản, nhưng hướng dẫn này dành cho người mới bắt đầu và người mới bắt đầu nên biết cách thực hiện loại công việc này., Ý bạn là giả sử bạn muốn tạo bảng 3 × 4? Tôi không thực sự chắc chắn nhưng bạn có thể lưu trữ số hàng và số cột thành biến và dựa vào đó tạo bảng. , cách thêm tìm kiếm và sắp xếp trong bảng

import React, { Component } from 'react'

class Table extends Component {
   constructor(props) {
      super(props) //since we are extending class Table so we have to use super in order to override Component class constructor
      this.state = { //state is by default an object
         students: [
            { id: 1, name: 'Wasif', age: 21, email: 'wasif@email.com' },
            { id: 2, name: 'Ali', age: 19, email: 'ali@email.com' },
            { id: 3, name: 'Saad', age: 16, email: 'saad@email.com' },
            { id: 4, name: 'Asad', age: 25, email: 'asad@email.com' }
         ]
      }
   }

   render() { //Whenever our class runs, render method will be called automatically, it may have already defined in the constructor behind the scene.
      return (
         <div>
            <h1>React Dynamic Table</h1>
         </div>
      )
   }
}

export default Table //exporting a component make it reusable and this is the beauty of react

 

renderTableData() {
      return this.state.students.map((student, index) => {
         const { id, name, age, email } = student //destructuring
         return (
            <tr key={id}>
               <td>{id}</td>
               <td>{name}</td>
               <td>{age}</td>
               <td>{email}</td>
            </tr>
         )
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }

 

renderTableHeader() {
      let header = Object.keys(this.state.students[0])
      return header.map((key, index) => {
         return <th key={index}>{key.toUpperCase()}</th>
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  <tr>{this.renderTableHeader()}</tr>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }
#title {
   text - align: center;
   font - family: arial, sans - serif;
}

#students {
   text - align: center;
   font - family: "Trebuchet MS", Arial, Helvetica, sans - serif;
   border - collapse: collapse;
   border: 3 px solid #ddd;
   width: 100 % ;
}

#students td, #students th {
   border: 1 px solid #ddd;
   padding: 8 px;
}

#students tr: nth - child(even) {
   background - color: #f2f2f2;
}

#students tr: hover {
   background - color: #ddd;
}

#students th {
   padding - top: 12 px;
   padding - bottom: 12 px;
   text - align: center;
   background - color: #4CAF50;
  color: white;
}
if (errors.length) {
   alert("gikhare sag");
   setFormaState({
      ...formState,
      errors
   });
   return;
}
userService.addUser(formState.user);
setFormaState({
   errors: [],
   users: userService.getUsers()
});
return errors;

Cómo crear una tabla dinámica en React

En este artículo intentaré enseñar cómo crear una tabla dinámica en react. Ya sé que es bastante simple, pero este tutorial es para principiantes y un principiante debe saber cómo hacer este tipo de cosas. ¿Quieres decir que digamos que quieres generar una tabla 3 × 4? No estoy realmente seguro, pero puede almacenar números de filas y columnas en variables y, en función de eso, generar la tabla. , cómo agregar búsqueda y clasificación en la tabla

import React, { Component } from 'react'

class Table extends Component {
   constructor(props) {
      super(props) //since we are extending class Table so we have to use super in order to override Component class constructor
      this.state = { //state is by default an object
         students: [
            { id: 1, name: 'Wasif', age: 21, email: 'wasif@email.com' },
            { id: 2, name: 'Ali', age: 19, email: 'ali@email.com' },
            { id: 3, name: 'Saad', age: 16, email: 'saad@email.com' },
            { id: 4, name: 'Asad', age: 25, email: 'asad@email.com' }
         ]
      }
   }

   render() { //Whenever our class runs, render method will be called automatically, it may have already defined in the constructor behind the scene.
      return (
         <div>
            <h1>React Dynamic Table</h1>
         </div>
      )
   }
}

export default Table //exporting a component make it reusable and this is the beauty of react

 

renderTableData() {
      return this.state.students.map((student, index) => {
         const { id, name, age, email } = student //destructuring
         return (
            <tr key={id}>
               <td>{id}</td>
               <td>{name}</td>
               <td>{age}</td>
               <td>{email}</td>
            </tr>
         )
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }

 

renderTableHeader() {
      let header = Object.keys(this.state.students[0])
      return header.map((key, index) => {
         return <th key={index}>{key.toUpperCase()}</th>
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  <tr>{this.renderTableHeader()}</tr>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }
#title {
   text - align: center;
   font - family: arial, sans - serif;
}

#students {
   text - align: center;
   font - family: "Trebuchet MS", Arial, Helvetica, sans - serif;
   border - collapse: collapse;
   border: 3 px solid #ddd;
   width: 100 % ;
}

#students td, #students th {
   border: 1 px solid #ddd;
   padding: 8 px;
}

#students tr: nth - child(even) {
   background - color: #f2f2f2;
}

#students tr: hover {
   background - color: #ddd;
}

#students th {
   padding - top: 12 px;
   padding - bottom: 12 px;
   text - align: center;
   background - color: #4CAF50;
  color: white;
}
if (errors.length) {
   alert("gikhare sag");
   setFormaState({
      ...formState,
      errors
   });
   return;
}
userService.addUser(formState.user);
setFormaState({
   errors: [],
   users: userService.getUsers()
});
return errors;

Как создать динамическую таблицу в React

В этой статье я постараюсь научить создавать динамическую таблицу в React. Да, я знаю, что это довольно просто, но этот урок предназначен для новичков, и новичок должен знать, как это сделать. Вы имеете в виду, что, скажем, вы хотите создать таблицу 3 × 4? Я не совсем уверен, но вы можете хранить номера строк и столбцов в переменной и на основе этого создавать таблицу. , как добавить поиск и сортировку в таблицу

import React, { Component } from 'react'

class Table extends Component {
   constructor(props) {
      super(props) //since we are extending class Table so we have to use super in order to override Component class constructor
      this.state = { //state is by default an object
         students: [
            { id: 1, name: 'Wasif', age: 21, email: 'wasif@email.com' },
            { id: 2, name: 'Ali', age: 19, email: 'ali@email.com' },
            { id: 3, name: 'Saad', age: 16, email: 'saad@email.com' },
            { id: 4, name: 'Asad', age: 25, email: 'asad@email.com' }
         ]
      }
   }

   render() { //Whenever our class runs, render method will be called automatically, it may have already defined in the constructor behind the scene.
      return (
         <div>
            <h1>React Dynamic Table</h1>
         </div>
      )
   }
}

export default Table //exporting a component make it reusable and this is the beauty of react

 

renderTableData() {
      return this.state.students.map((student, index) => {
         const { id, name, age, email } = student //destructuring
         return (
            <tr key={id}>
               <td>{id}</td>
               <td>{name}</td>
               <td>{age}</td>
               <td>{email}</td>
            </tr>
         )
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }

 

renderTableHeader() {
      let header = Object.keys(this.state.students[0])
      return header.map((key, index) => {
         return <th key={index}>{key.toUpperCase()}</th>
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  <tr>{this.renderTableHeader()}</tr>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }
#title {
   text - align: center;
   font - family: arial, sans - serif;
}

#students {
   text - align: center;
   font - family: "Trebuchet MS", Arial, Helvetica, sans - serif;
   border - collapse: collapse;
   border: 3 px solid #ddd;
   width: 100 % ;
}

#students td, #students th {
   border: 1 px solid #ddd;
   padding: 8 px;
}

#students tr: nth - child(even) {
   background - color: #f2f2f2;
}

#students tr: hover {
   background - color: #ddd;
}

#students th {
   padding - top: 12 px;
   padding - bottom: 12 px;
   text - align: center;
   background - color: #4CAF50;
  color: white;
}
if (errors.length) {
   alert("gikhare sag");
   setFormaState({
      ...formState,
      errors
   });
   return;
}
userService.addUser(formState.user);
setFormaState({
   errors: [],
   users: userService.getUsers()
});
return errors;

Comment créer une table dynamique dans React

Dans cet article, je vais essayer d'enseigner comment créer un tableau dynamique en réaction. Oui, je sais que c'est assez simple, mais ce tutoriel est destiné aux débutants et un débutant devrait savoir comment faire ce genre de choses., Vous voulez dire, disons que vous voulez générer une table 3 × 4 ? Je ne suis pas vraiment sûr, mais vous pouvez stocker des numéros de lignes et de colonnes dans une variable et en fonction de cela, générer le tableau. ,comment ajouter la recherche et le tri dans le tableau

import React, { Component } from 'react'

class Table extends Component {
   constructor(props) {
      super(props) //since we are extending class Table so we have to use super in order to override Component class constructor
      this.state = { //state is by default an object
         students: [
            { id: 1, name: 'Wasif', age: 21, email: 'wasif@email.com' },
            { id: 2, name: 'Ali', age: 19, email: 'ali@email.com' },
            { id: 3, name: 'Saad', age: 16, email: 'saad@email.com' },
            { id: 4, name: 'Asad', age: 25, email: 'asad@email.com' }
         ]
      }
   }

   render() { //Whenever our class runs, render method will be called automatically, it may have already defined in the constructor behind the scene.
      return (
         <div>
            <h1>React Dynamic Table</h1>
         </div>
      )
   }
}

export default Table //exporting a component make it reusable and this is the beauty of react

 

renderTableData() {
      return this.state.students.map((student, index) => {
         const { id, name, age, email } = student //destructuring
         return (
            <tr key={id}>
               <td>{id}</td>
               <td>{name}</td>
               <td>{age}</td>
               <td>{email}</td>
            </tr>
         )
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }

 

renderTableHeader() {
      let header = Object.keys(this.state.students[0])
      return header.map((key, index) => {
         return <th key={index}>{key.toUpperCase()}</th>
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  <tr>{this.renderTableHeader()}</tr>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }
#title {
   text - align: center;
   font - family: arial, sans - serif;
}

#students {
   text - align: center;
   font - family: "Trebuchet MS", Arial, Helvetica, sans - serif;
   border - collapse: collapse;
   border: 3 px solid #ddd;
   width: 100 % ;
}

#students td, #students th {
   border: 1 px solid #ddd;
   padding: 8 px;
}

#students tr: nth - child(even) {
   background - color: #f2f2f2;
}

#students tr: hover {
   background - color: #ddd;
}

#students th {
   padding - top: 12 px;
   padding - bottom: 12 px;
   text - align: center;
   background - color: #4CAF50;
  color: white;
}
if (errors.length) {
   alert("gikhare sag");
   setFormaState({
      ...formState,
      errors
   });
   return;
}
userService.addUser(formState.user);
setFormaState({
   errors: [],
   users: userService.getUsers()
});
return errors;

Como criar uma tabela dinâmica no React

Neste artigo tentarei ensinar como criar uma tabela dinâmica em react. Sim, eu sei que é bastante simples, mas este tutorial é para iniciantes e um iniciante deve saber como fazer esse tipo de coisa. Quer dizer, digamos que você queira gerar uma mesa 3 × 4? Não tenho certeza, mas você pode armazenar números de linhas e colunas em variáveis ​​e, com base nisso, gerar a tabela. , como adicionar pesquisa e classificação na tabela

import React, { Component } from 'react'

class Table extends Component {
   constructor(props) {
      super(props) //since we are extending class Table so we have to use super in order to override Component class constructor
      this.state = { //state is by default an object
         students: [
            { id: 1, name: 'Wasif', age: 21, email: 'wasif@email.com' },
            { id: 2, name: 'Ali', age: 19, email: 'ali@email.com' },
            { id: 3, name: 'Saad', age: 16, email: 'saad@email.com' },
            { id: 4, name: 'Asad', age: 25, email: 'asad@email.com' }
         ]
      }
   }

   render() { //Whenever our class runs, render method will be called automatically, it may have already defined in the constructor behind the scene.
      return (
         <div>
            <h1>React Dynamic Table</h1>
         </div>
      )
   }
}

export default Table //exporting a component make it reusable and this is the beauty of react

 

renderTableData() {
      return this.state.students.map((student, index) => {
         const { id, name, age, email } = student //destructuring
         return (
            <tr key={id}>
               <td>{id}</td>
               <td>{name}</td>
               <td>{age}</td>
               <td>{email}</td>
            </tr>
         )
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }

 

renderTableHeader() {
      let header = Object.keys(this.state.students[0])
      return header.map((key, index) => {
         return <th key={index}>{key.toUpperCase()}</th>
      })
   }

   render() {
      return (
         <div>
            <h1 id='title'>React Dynamic Table</h1>
            <table id='students'>
               <tbody>
                  <tr>{this.renderTableHeader()}</tr>
                  {this.renderTableData()}
               </tbody>
            </table>
         </div>
      )
   }
#title {
   text - align: center;
   font - family: arial, sans - serif;
}

#students {
   text - align: center;
   font - family: "Trebuchet MS", Arial, Helvetica, sans - serif;
   border - collapse: collapse;
   border: 3 px solid #ddd;
   width: 100 % ;
}

#students td, #students th {
   border: 1 px solid #ddd;
   padding: 8 px;
}

#students tr: nth - child(even) {
   background - color: #f2f2f2;
}

#students tr: hover {
   background - color: #ddd;
}

#students th {
   padding - top: 12 px;
   padding - bottom: 12 px;
   text - align: center;
   background - color: #4CAF50;
  color: white;
}
if (errors.length) {
   alert("gikhare sag");
   setFormaState({
      ...formState,
      errors
   });
   return;
}
userService.addUser(formState.user);
setFormaState({
   errors: [],
   users: userService.getUsers()
});
return errors;