Skip to content

DevOps automation and auto-deployment, demonstrating a PC Component Website

License

Notifications You must be signed in to change notification settings

iamSlightlyWind/majors_choice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Major's Choice

A project focused on DevOps automation and auto-deployment of a professional e-commerce platform for computer components.

Trigger GitHub Action

Build Status

Anyone can test the website at https://choice.themajorones.dev by pressing the "Deploy Server" button.

Note

The server should boots in 1 minute once triggered, and will not start again unless the previous run has expired (1 hour, configurable in workflow).

Project Overview

The rough idea is to sell the latest generations of PC parts, including the most basic components used to build a PC: CPU, GPU, RAM, SSD, PSU, and case. The website will list the most common and popular PC hardware from the last 3 generations. Optional features of the website will be a build your PC which checks for parts compatibility and a comparison feature that compares the 2 hardware from the same category for performance and price-to-performance ratio.

Proof of concept

While the backend of things seems simple enough, having the server run on the open web is an order of magnitude more knowledge than what I currently have right now. What I have in mind is to have GitHub runner run the server, preferably having it run a docker image that I created, so it doesn't have to start over whenever I boot it up. or even better, have it run on GitHub codespace, if I understand correctly, is the same as GitHub Runner, but I will have GUI access to a port forwarding terminal. This will have to be successfully tested working, as well as deployed to the server before starting the project.

Remote Server Workflow:

  • Proof of concept for running a Tomcat server (merged).
  • Proof of concept for running an MSSQL server (merged).
  • Proof of concept for deploying to Tomcat server (merged).
  • Proof of concept for deploying to the open Web (merged).

Hardware Validation

This feature ensures the compatibility of the selected components. Here are the checks performed:

Situation Case Suggestion
CPU & Motherboard Socket Sockets match
Sockets mismatch Change CPU or Motherboard.
Integrated GPU GPU selected
iGPU supported by both, no GPU Consider discrete GPU for better performance.
iGPU supported by one, no GPU Replace the non-supporting component or consider a discrete GPU.
iGPU unsupported, no GPU Add discrete GPU or choose iGPU supporting CPU/Motherboard.
RAM Type Supported by Motherboard
Unsupported by Motherboard Choose compatible RAM type.
RAM Speed with Motherboard Supported
Faster than max Ram will be underclocked. Consider different RAM or Motherboard
RAM Speed Matching Speeds match
Speeds mismatch Use matching speed RAM sticks.
RAM Capacity Supported by Motherboard
Unsupported by Motherboard Reduce RAM capacity to maximum supported.
RAM Slots Enough slots
Insufficient slots Reduce RAM sticks or choose another Motherboard.
PSU TDP TDP > CPU + GPU TDPs + 30%
TDP <= CPU + GPU TDPs + 30% Choose higher TDP PSU.

About

DevOps automation and auto-deployment, demonstrating a PC Component Website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •