Giter Site home page Giter Site logo

cab230's Introduction

CAB230 - Web Computing

code submitted for assignments two and three as part of CAB230.

build and run:

assuming docker and compose are installed, the project root features a compose.yaml that will build the client (http://localhost:3000), and API server (https://localhost:8080) + a mysqld instance (though this is not exposed to the host machine) into three separate service containers.

run the following to clone the repo, change directory into the cloned repo, and build + run the containers with compose:

git clone https://github.com/plsuwu/CAB230
cd CAB230
docker compose up -d --build --force-recreate

once the services are spun up and working, navigate to http://localhost:3000 to view the client (running from the composed server api endpoints) and https://localhost:8080 to view the api swagger documentation.

finally, the containers + images can be stopped and pruned with:

docker compose down
docker compose rm # dont forget to hit `y` at the prompt.

some of the endpoints from the server won't have client pages built as the server was built for a separate (though thematically linked) task.

A2 - Clientside:

i think the clientside source code is a little messy and, given more time, would liked to have refactored large sections of code

  • Vite + React + Typescript
  • React Router
  • TailwindCSS

A3 - Serverside:

  • Express + Typescript also
  • MariaDB (or MySQL) + Knex
  • Zod - largely unnecessary, but I wanted to try Zod (apparently it can be really slow) and I thought it wound up being a pretty tidy way to handle bad user input
  • Swagger documentation served on the root endpoint

cab230's People

Contributors

plsuwu 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.