Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
5bb4eee
feat: integrate infrastructure for Firebase authentication
Nov 11, 2026
46ac326
Merge pull request #88 from IT2810-H26/86-replace-query-parameter-nav…
wilhelsr Nov 12, 2026
7f02e69
Merge pull request #105 from IT2810-H26/102-standardize-naming-conven…
wilhelsr Nov 12, 2026
7e821d5
added user feedback ui for when adding a part over an existing part i…
wilhelsr Nov 12, 2026
2b19e1b
merged dev into this branch and resovled, refactored code os that one…
wilhelsr Nov 12, 2026
e34afe2
feat: added memo to stop re-rendering cards that are already rendered…
wilhelsr Nov 12, 2026
e05c20a
feat: added a chache to catalogue filter searches, searching for the …
wilhelsr Nov 12, 2026
cb45b82
fix:specified canvas.toDataUrl format to be webp instead of png
wilhelsr Nov 12, 2026
906d96e
fix: fixed minor inconsistency in the close button on mobile detail page
wilhelsr Nov 12, 2026
6452b66
docs: updated readme for acessibility and sustainability as well as t…
wilhelsr Nov 12, 2026
7ae41bb
feat: added reload on failed search, filter reset on a category speci…
wilhelsr Nov 12, 2026
ef0f331
Refactor import paths for useBuild to follow consistent casing in con…
Nov 12, 2026
842c4ca
Fix import paths to follow consistent casing in App and BuildProvider…
Nov 12, 2026
6809f4b
fix: changed up the feedback ui and added a notifications component t…
wilhelsr Nov 12, 2026
d76862d
Update minimatch dependency to version 11.0.8
Nov 12, 2026
2bd0519
Update body-parser and qs dependencies to latest versions
Nov 12, 2026
12fcd5b
Merge pull request #109 from IT2810-H26/101-improve-catalog-interacti…
krgjert Nov 12, 2026
9274535
Merge branch 'dev' into 103-fix-backend-runtime-dependency-vulnerabil…
wilhelsr Nov 12, 2026
e345715
Merge pull request #108 from IT2810-H26/103-fix-backend-runtime-depen…
wilhelsr Nov 12, 2026
a794dd4
bugfix: notifications were modal restricting scrolll, now it is not
wilhelsr Nov 12, 2026
5a686a0
Remove manufacturers option from PartsOptions and related components
Nov 12, 2026
2805559
removed unused import
wilhelsr Nov 12, 2026
0dde484
Refactor FilterComponent styles and improve filter dialog accessibility
Nov 12, 2026
c8ae49d
Hide search cancel button in input[type="search"], to make a better v…
Nov 12, 2026
4713550
Refactor search functionality by creating a reusable SearchComponent …
Nov 12, 2026
f649f4e
Implement CategorySelection component and update HomePage and Categor…
Nov 12, 2026
1c70858
Merge pull request #112 from IT2810-H26/111-fix-no-scroll-while-notif…
krgjert Nov 12, 2026
4c3cb14
Add skeleton loading for PC components and refactor PcPartCard layout…
Nov 12, 2026
ada4d86
Merge pull request #115 from IT2810-H26/114-add-skeleton-loading-for-…
wilhelsr Nov 13, 2026
1174e7f
feat: add build query resolver and corresponding tests
ludvigz Nov 13, 2026
2e9b614
feat: implement catalog search and sorting persistence in URL
ludvigz Nov 13, 2026
34f7114
Merge pull request #116 from IT2810-H26/95-implement-missing-graphql-…
wilhelsr Nov 13, 2026
a86c093
Merge pull request #117 from IT2810-H26/94-persist-search-filters-and…
wilhelsr Nov 13, 2026
17e070b
feat: add abuse protection and request limits for anonymous build pub…
ludvigz Nov 13, 2026
4b4f641
feat: improve text contrast in compatibility panel and update status …
ludvigz Nov 13, 2026
89b9d5c
feat: enhance text contrast for status colors in compatibility panel
ludvigz Nov 13, 2026
e4675c6
feat: add automated tests for critical functionality in catalog resol…
ludvigz Nov 13, 2026
f1a418e
feat: add comprehensive automated tests for compatibility checks acro…
ludvigz Nov 13, 2026
a95a5f2
feat: enhance BuildProvider with improved localStorage handling and a…
ludvigz Nov 13, 2026
843aa7f
feat: add automated tests for publishing builds and validating input
ludvigz Nov 13, 2026
803c146
feat: update README with details on automated tests for backend funct…
ludvigz Nov 13, 2026
b92fd15
Merge branch '89-add-abuse-protection-for-anonymous-build-publishing'…
ludvigz Nov 13, 2026
91bf57c
feat: update config mocks in tests for consistent publish limits and …
ludvigz Nov 13, 2026
70c7863
Add Firebase token verification to GraphQL
Nov 13, 2026
b3bdd26
Connect login UI and authenticated GraphQL requests
Nov 13, 2026
ff57920
Schema setup for users
Nov 13, 2026
a1ca30a
feat: add DataLoader for build parts and implement batching in resolvers
ludvigz Nov 13, 2026
c1da046
Link Firebase authentication to PostgreSQL users
Nov 13, 2026
817ef29
feat: enhance PC builder reliability and user feedback with improved …
ludvigz Nov 13, 2026
6e54661
Add email login and authenticated build publishing
Nov 13, 2026
53d0bff
Add email login and authenticated build publishing
Nov 13, 2026
321a746
Merge pull request #118 from IT2810-H26/89-add-abuse-protection-for-a…
oscarog Nov 13, 2026
7944837
Merge pull request #119 from IT2810-H26/90-improve-text-contrast-in-c…
oscarog Nov 13, 2026
c052cf0
Merge pull request #120 from IT2810-H26/92-add-automated-tests-for-cr…
oscarog Nov 13, 2026
22653aa
Merge pull request #121 from IT2810-H26/100-improve-community-backend…
oscarog Nov 13, 2026
a393545
Merge pull request #122 from IT2810-H26/99-improve-pc-builder-reliabi…
oscarog Nov 13, 2026
1252804
feat: implement saved build functionality and account management
Nov 13, 2026
f0c601d
Merge branch 'dev' of https://git.ntnu.no/IT2810-H26/T15-Project-2 in…
Nov 13, 2026
270ca15
Merge pull request #123 from IT2810-H26/97-implement-user-authenticat…
ludvigz Nov 13, 2026
0d64d54
docs: update README and add accessibility and sustainability document…
Nov 13, 2026
27c0e3b
Merge pull request #125 from IT2810-H26/93-review-and-update-readme-d…
ludvigz Nov 13, 2026
40b979c
Merge branch 'main' into dev
ludvigz Nov 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 144 additions & 64 deletions README.md

Large diffs are not rendered by default.

11 changes: 10 additions & 1 deletion backend/db/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,16 @@ CREATE INDEX IF NOT EXISTS parts_cooler_height_idx
WHERE category = 'CPUCooler';


CREATE TABLE IF NOT EXISTS users (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
firebase_uid varchar(128) NOT NULL UNIQUE,
display_name text
);


/* Saved builds */
CREATE TABLE IF NOT EXISTS builds (

id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
tittel varchar(50) NOT NULL CHECK (length(trim(tittel)) > 0),
created_at timestamptz NOT NULL DEFAULT now(),
Expand All @@ -69,4 +76,6 @@ CREATE TABLE IF NOT EXISTS builds (
psu_id uuid REFERENCES parts(id),
case_id uuid REFERENCES parts(id),
cooler_id uuid REFERENCES parts(id)
);
);
CREATE INDEX IF NOT EXISTS builds_owner_id_idx
ON builds(owner_id);
6 changes: 5 additions & 1 deletion backend/server/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ PORT=3001
# Comma-separated list of browser origins allowed to read API responses, or * for any.
# On the VM this is the address the frontend is served from.
CORS_ORIGIN=http://it2810-15.idi.ntnu.no
# Number of reverse proxies in front of the backend. On the VM, Apache forwards requests to the
# backend, so this must be 1 for the rate limit to count each visitor separately by IP address.
TRUST_PROXY=1

# --- Running backend and frontend locally, with the database on the VM ---
# Needs NTNU network or VPN, and the VM's Postgres must accept outside connections.
# Use these two lines in your own .env instead of the ones above:
# Use these three lines in your own .env instead of the ones above (there is no proxy locally):
# DATABASE_URL=postgresql://buildapc:<password>@it2810-15.idi.ntnu.no:5432/buildapc
# CORS_ORIGIN=http://localhost:5173
# TRUST_PROXY=0
Loading