Giter VIP home page Giter VIP logo

keith-tachibana / student_grade_table_fullstack Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 558 KB

A simple CRUD (Create, Read, Update, Delete), full-stack web application to create, read, update, and delete student grades

Home Page: https://www.keith-tachibana.com/portfolio/studentGradeTable/server/public/index.html

License: Apache License 2.0

JavaScript 88.25% HTML 4.34% CSS 6.13% TSQL 1.28%
student-grades crud pm2 nginx react teachers express-server api postgresql relational-database

student_grade_table_fullstack's Introduction

Student Grade Table

A simple CRUD (Create, Read, Update, Delete), full-stack web application to create, read, update, and delete student grades

Technologies Used

Dependency Version
@Babel/Core 7.8.7
@Babel/Plugin-Transform-React-JSX 7.8.3
Babel-Loader 8.0.6
Bootstrap 4.4.1
CORS 2.8.5
Express 4.17.1
FontAwesome 5.11.2
PG 7.18.2
React 16.13.0
React-DOM 16.13.0
Webpack 4.42.0
Webpack-CLI 3.3.11

Live Demo

Try the application live on my porftolio website

Features

  • * Teachers can view a list of recorded grades
  • * Teachers can view the average grade for the class
  • * Teachers can add a grade to the table
  • * Teachers can delete a grade from the table
  • * Teachers can edit the student name, course name, or student grade from the table

Preview

Student Grade Table Preview

Development

System Requirements

Requirement Version
Nginx 1.10 or higher
Node 10 or higher
NPM 6 or higher
PM2 4 or higher
PostgreSQL 10 or higher
Ubuntu Server 18.04 LTS

Getting Started

  1. Clone the repoistory
git clone https://github.com/Keith-Tachibana/Student_Grade_Table_Fullstack.git
  1. Change directory to cloned folder
cd Student_Grade_Table_Fullstack/
  1. Install all dependencies with NPM
npm install
  1. Start PostgreSQL server
sudo service postgresql start
  1. Create the database
createdb studentGradeTable
  1. Import the schema
psql -d studentGradeTable -f schema.sql
  1. Import the example data
psql -d studentGradeTable -f data.sql
  1. Edit your nginx default site configuration to reverse proxy the Express.js server
cd /etc/nginx/sites-available
sudo nano default
  • 8a. In the "server" code block, add this underneath the first location definition:
    location /api {
      proxy_pass http://127.0.0.1:3000;
    }
  • 8b. Save your changes (Ctrl + O) and exit (Ctrl + X)
  • 8c. Link your default site to the sites-enabled directory (if not already done):
    sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
  1. Start nginx
sudo service nginx start
  1. Transpile React components using Webpack
npm run build
  1. Change directory to the server folder
cd server/
  1. Start the Express.js server using the PM2 module
sudo pm2 --name "studentGradeTable" start index.js
  1. Open your default web browser and navigate to http://localhost:3000/ to see the result!

student_grade_table_fullstack's People

Contributors

dependabot[bot] avatar keith-tachibana avatar

Stargazers

 avatar

Watchers

 avatar

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.