Relational database project, PC Builder, for the Database Systems Design course.

Overview
README:
Starting the Progam:
This program was built and ran on the Eclipse IDE. 

To run, first create the database, "ty_daniel_db", using the ty_daniel_backend
script.

Then, connect the gui program to the database by modifying the url, username,
password Strings in the Driver class.

If that does not work, the connection can be manually modified in the
SQLDatabaseConnection class, in the executeForm and executeReport methods 
(connection in both methods must be modified).

Finally, run the program with the Driver class as the main class.


Using the Program:
The program performs database requests based on the View Report Options
or the Change Form Options.

Selecting an Option will fill in their respective text area with the appropriate text template.

Fill in the template, replacing placeholder text with your own request info and press the Request
View Report or Request Change Form button, based on the request type. 

Keep template commas (,) and apostrophes ('') intact. Template variables not encircled 
in ('') are int or decimal variables should be replaced by integer or decimal 
(based on the selected option).


View Report Options:
There is a selectable SQL option in both request types for bugtesting.

For the Components View Report options, these are their categories and what
components they represent:

Categories:		Components:
VideoCard		Video Cards(GPUs)
Memory			Memory(RAM)
Storage			Storage(e.g., SSD, HDD)
Monitor			Monitors
CPU			CPUs
CPUCooler		CPU Coolers
PowerSupply		Power Supplies(PSU)
Motherboard		Motherboards
PCCase			PC Cases
OS			Operating Systems
Mouse			Mouse
Keyboard		Keyboard

The Price Range version of this option shows components within a given price
range and component category. The MinPrice and MaxPrice define the range and
should be filled in as a double with no ($) sign (e.g., 64.99).

For the PC Build(s) option, enter a username to view all builds from that user
For the PC Build(s) (price range) option, enter a min and max price to view all builds,
from all users, in that price range.
Selected PC Build(s) must be complete for these options (i.e., must have associated
Build GPU(s), Build Memory, Build Storage, and Build Monitor(s)).

Compatible Motherboards shows compatible motherboards given a CPU name.
Compatible CPUs shows compatible CPUs given a motherboard name.


Change Form Options:
There is a selectable SQL option in both request types for bugtesting.

Create User creates a user on the database given their Username,
Email, FirstName, and LastName

Delete User deletes a user and all of their builds, given their Username.

Create PC Build creates an initial build given a username, buildname, and
name of initial components.

Add GPU to Build adds a GPU to a PC Build given a username, buildname,
GPU#, and GPUName. GPU# is which number it is in your build. Your first GPU
should be given GPU# of 1, second GPU given GPU# of 2, and so on.

This works similar for the other Add () to Build Options.

Note: A PC Build is not complete w/o at least one of each of component type added
to the build, meaning it will not show up in the View Reports.

The Delete PC Build option deletes a build completely, given an Username and BuildName.


The Clear button simply clears the output window.


Contact:
For any questions on using or understanding the program,
Email: [email protected]
You might also like...

CompiladorCtrlC - final project of the course Procesadores de Lenguajes

This repo contains the final project of the course Procesadores de Lenguajes, which I took in my fourth year on my Computer Science Engineering degree. It consists in a C-like language compiler.

Jul 17, 2022

course-project-real-estate-finder-004 created by GitHub Classroom

Real Estate Finder Running the Project: Clone the repository and open with IntelliJ IntelliJ may not correctly open the project on the first run, but

Dec 16, 2021

course-project-javajsk created by GitHub Classroom

Project JavaJSK - UofTruck University of Toronto Food truck ordering system. For more information see our design document. Problem specification Our p

Jan 12, 2022

Flights metasearch engine simulation using Java, GraphQL and React.js, developed for COMP30220 Distributed Systems.

Flights metasearch engine simulation using Java, GraphQL and React.js, developed for COMP30220 Distributed Systems.

Distributed Airways For the full project report, see ./report.pdf. A demonstration video is available here. Requirements Docker JDK 8 and Apache Maven

Dec 29, 2022

Distributed Systems Assignment 1

DSYS_A1 Distributed Systems Assignment 1 The application that I have decided to have as my assignment is a testing application. The supervisor server

Dec 14, 2021

This repository should serve as a guide to everybody who wants to study software and hardware for embedded systems but doesn't know where to start.

Roadmap to Embedded Engineering This repository should serve as a guide to anyone who wants to study software and hardware for embedded systems but do

Jan 4, 2023

Kryptokrona Java SDK for building decentralized private communication and payment systems.

Kryptokrona Java SDK for building decentralized private communication and payment systems.

Kryptokrona Java SDK Kryptokrona is a decentralized blockchain from the Nordic based on CryptoNote, which forms the basis for Monero, among others. Cr

Oct 31, 2022

An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

Nov 8, 2022
Owner
Daniel Ty
Daniel Ty
Team project within the course of Software System Design and Analysis.

InnoBookCrossing - Application for sharing books at Innopolis Description The application is designed to help people share books with each other. All

Dariya 33 Oct 22, 2022
Allows you to use the MongoDB query syntax to query your relational database.

Spring Data JPA MongoDB Expressions How it works: Customize JPA Repository base class: @SpringBootApplication @EnableJpaRepositories(repositoryBaseCla

Muhammad Hewedy 86 Dec 27, 2022
Principles of Database Systems Project

This is a repository for the course project of Principles of Database Systems at New York University by Qifan Zhang, Zhen Wang, and Haoran Wang.

null 2 Apr 12, 2022
A sideproject to learn more about object-oriented programming, design patterns and Java meanwhile studying an OOP-course.

MyBank Description A console application that simulates a bank with very simple functions. Potential story could be an employee using this application

null 2 Mar 23, 2022
Record builder generator for Java records

RecordBuilder What is RecordBuilder Java 16 introduces Records. While this version of records is fantastic, it's currently missing some important feat

Jordan Zimmerman 361 Dec 27, 2022
YetAnotherConfigLib (yacl) is just that. A builder-based configuration library for Minecraft.

YetAnotherConfigLib Yet Another Config Lib, like, what were you expecting? Why does this mod even exist? This mod was made to fill a hole in this area

Xander 36 Dec 29, 2022
Tuya 37 Dec 26, 2022
Mars - Object Relational Mapping Framework for MongoDB (MongoDB ORM)

Mars Object Relational Mapping Framework for MongoDB 致自己 造自己的轮子,让别人去说 ; What is Mars Mars is a unified driver platform product developed by Shanghai J

null 35 Nov 17, 2022
This project was created as a simple example to show how we can implement the hexagonal architecture(software design) proposed by Netflix.

Netflix Hexagonal Architecture Table of contents About the project Description Built with Installation Requirements to run Usage information Run Licen

José Lucas 12 Dec 20, 2022
This project contains many sample codes for demonstrating the usage of some common design patterns.

STUDY COMMON DESIGN PATTERNS 1. About this project This project contains many sample codes for demonstrating the usage of the following design pattern

Võ Trần Minh Quân 21 Jan 2, 2023