From 1f9854f643f930e9b95d0205dff42a9a2934e05b Mon Sep 17 00:00:00 2001 From: Chau Cao Date: Sun, 5 Jul 2026 14:38:13 -0500 Subject: [PATCH 01/31] Update project contributors in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e1211217..456e05762 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ CodePath WEB103 Final Project -Designed and developed by: [your names here] +Designed and developed by: [Gustave Ntwali, Abdul Khan, Carolina Herrera, Chau Cao, Dev Goswami, Armin Erika Polanco] πŸ”— Link to deployed app: From f479660c4baebfc852a49067a6a8de3191a3beec Mon Sep 17 00:00:00 2001 From: Chau Cao Date: Sun, 5 Jul 2026 14:38:47 -0500 Subject: [PATCH 02/31] Mark tasks as completed in milestone1.md Updated checklist to reflect completed tasks. --- milestones/milestone1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/milestones/milestone1.md b/milestones/milestone1.md index 52b9b0038..2108b4ac6 100644 --- a/milestones/milestone1.md +++ b/milestones/milestone1.md @@ -6,10 +6,10 @@ This document should be completed and submitted during **Unit 5** of this course This unit, be sure to complete all tasks listed below. To complete a task, place an `x` between the brackets. -- [ ] Read and understand all required features - - [ ] Understand you **must** implement **all** baseline features and **two** custom features +- [x] Read and understand all required features + - [x] Understand you **must** implement **all** baseline features and **two** custom features - [ ] In `readme.md`: update app name to your app's name -- [ ] In `readme.md`: add all group members' names +- [x] In `readme.md`: add all group members' names - [ ] In `readme.md`: complete the **Description and Purpose** section - [ ] In `readme.md`: complete the **Inspiration** section - [ ] In `readme.md`: list a name and description for all features (minimum 6 for full points) you intend to include in your app (in future units, you will check off features as you complete them and add GIFs demonstrating the features) From 19e64d6b41c04d180d573f1e8d359972de86eca9 Mon Sep 17 00:00:00 2001 From: Pinsoe Gustave <108759573+pinsoegustave@users.noreply.github.com> Date: Sun, 5 Jul 2026 23:21:39 -0400 Subject: [PATCH 03/31] Check off completed tasks and update reflections Updated task completion status and added reflections. --- milestones/milestone1.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/milestones/milestone1.md b/milestones/milestone1.md index 2108b4ac6..df9ec5386 100644 --- a/milestones/milestone1.md +++ b/milestones/milestone1.md @@ -8,25 +8,29 @@ This unit, be sure to complete all tasks listed below. To complete a task, place - [x] Read and understand all required features - [x] Understand you **must** implement **all** baseline features and **two** custom features -- [ ] In `readme.md`: update app name to your app's name +- [X] In `readme.md`: update app name to your app's name - [x] In `readme.md`: add all group members' names - [ ] In `readme.md`: complete the **Description and Purpose** section - [ ] In `readme.md`: complete the **Inspiration** section - [ ] In `readme.md`: list a name and description for all features (minimum 6 for full points) you intend to include in your app (in future units, you will check off features as you complete them and add GIFs demonstrating the features) - [ ] In `planning/user_stories.md`: add all user stories (minimum 10 for full points) - [ ] In `planning/user_stories.md`: use 1-3 unique user roles in your user stories -- [ ] In this document, complete all thre questions in the **Reflection** section below +- [X] In this document, complete all three questions in the **Reflection** section below ## Reflection ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +πŸ‘‰πŸΎ Coming up with the idea is something every group member is proud of] +πŸ‘‰πŸΎ Everyone is feeling confident about working on this project +πŸ‘‰πŸΎ App structuring is not bad at all. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +πŸ‘‰πŸΎ Giving the app a unique name +πŸ‘‰πŸΎ Group members are having difficulty meeting at the same time ### 3. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +πŸ‘‰πŸΎ A reviewer at each milestone to give us feedback on our progress +πŸ‘‰πŸΎ A reviewer to tell us the best practices for a well-functioning app From 698834624388f40f9e38f0d0ae579b1de26f4a88 Mon Sep 17 00:00:00 2001 From: arminerika Date: Sun, 5 Jul 2026 20:25:08 -0700 Subject: [PATCH 04/31] milestone1 draft --- README.md | 65 +++++++++++++++++++++++++++++++--------- milestones/milestone1.md | 20 ++++++------- planning/user_stories.md | 21 +++++++++++-- 3 files changed, 79 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 456e05762..f02fb868b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,15 @@ -# [your app name here] +# Sona CodePath WEB103 Final Project -Designed and developed by: [Gustave Ntwali, Abdul Khan, Carolina Herrera, Chau Cao, Dev Goswami, Armin Erika Polanco] +Designed and developed by: + +- Gustave Ntwali +- Abdul Khan +- Carolina Herrera +- Chau Cao +- Dev Goswami +- Armin Erika Polanco πŸ”— Link to deployed app: @@ -10,39 +17,69 @@ Designed and developed by: [Gustave Ntwali, Abdul Khan, Carolina Herrera, Chau C ### Description and Purpose -[text goes here] +**Sona** is a full-stack web app where users can browse artist profiles, follow their favorite artists, view upcoming concert dates, and shop artist merch all in one place. + +Music fans often have to juggle multiple platforms to keep up with an artist. From social media for updates, ticketing sites for shows, separate stores for merch. **Sona** exists to bring that experience together in one app, making it easier for fans to stay connected and for artists to reach their community directly. ### Inspiration -[text goes here] +This project builds on ideas from several of our previous coursework projects. Multiple members of our group have worked on music-themed projects earlier in the course that explored artist/music reference content, vinyl and merch customization, and community-oriented spaces. **Sona** brings these ideas together into a single hub where fans can follow artists, engage with a community built around music, and shop artist merch. ## Tech Stack -Frontend: +Frontend: React (Vite), React Router -Backend: +Backend: Express, Node.js, PostgreSQL ## Features -### [Name of Feature 1] +### Artist Directory -[short description goes here] +- Browse all artists with genre, bio, and profile image; click into a full artist page. -[gif goes here] +- [gif goes here] + +### Follow Artists + +- Users can follow/unfollow artists to build a personalized list of who they're keeping up with. + +- [gif goes here] + +### Merch Shop with Filtering + +- Browse merch (vinyl, CD, apparel) filtered by artist, genre, or format. + +- [gif goes here] -### [Name of Feature 2] +### Order System -[short description goes here] +- Add merch to a cart and place an order; view order history. + +- [gif goes here] + +### Concert Listings + +- View upcoming shows per artist, filterable by city and/or date. + +- [gif goes here] + +### Artist Quick-View Panel + +- Slide-out modal showing artist details and discography without navigating away from the current page. [gif goes here] -### [Name of Feature 3] +### (Stretch) Spotify Connect -[short description goes here] +Link a Spotify account to import playlists and generate personalized recommendations. [gif goes here] -### [ADDITIONAL FEATURES GO HERE - ADD ALL FEATURES HERE IN THE FORMAT ABOVE; you will check these off and add gifs as you complete them] +### (Stretch) Real Payment Integration + +Real checkout system built on top of the existing order system. + +[gif goes here] ## Installation Instructions diff --git a/milestones/milestone1.md b/milestones/milestone1.md index 2108b4ac6..6770d0ca8 100644 --- a/milestones/milestone1.md +++ b/milestones/milestone1.md @@ -8,25 +8,25 @@ This unit, be sure to complete all tasks listed below. To complete a task, place - [x] Read and understand all required features - [x] Understand you **must** implement **all** baseline features and **two** custom features -- [ ] In `readme.md`: update app name to your app's name +- [x] In `readme.md`: update app name to your app's name - [x] In `readme.md`: add all group members' names -- [ ] In `readme.md`: complete the **Description and Purpose** section -- [ ] In `readme.md`: complete the **Inspiration** section -- [ ] In `readme.md`: list a name and description for all features (minimum 6 for full points) you intend to include in your app (in future units, you will check off features as you complete them and add GIFs demonstrating the features) -- [ ] In `planning/user_stories.md`: add all user stories (minimum 10 for full points) -- [ ] In `planning/user_stories.md`: use 1-3 unique user roles in your user stories -- [ ] In this document, complete all thre questions in the **Reflection** section below +- [x] In `readme.md`: complete the **Description and Purpose** section +- [x] In `readme.md`: complete the **Inspiration** section +- [x] In `readme.md`: list a name and description for all features (minimum 6 for full points) you intend to include in your app (in future units, you will check off features as you complete them and add GIFs demonstrating the features) +- [x] In `planning/user_stories.md`: add all user stories (minimum 10 for full points) +- [x] In `planning/user_stories.md`: use 1-3 unique user roles in your user stories +- [x] In this document, complete all thre questions in the **Reflection** section below ## Reflection ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +We agreed on a concept quickly. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Finalizing details across all members can be challenging but we will hopefully implement a better system going forward. ### 3. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +General guidance on keeping the team coordinated and on track as we move into the more technical milestones. diff --git a/planning/user_stories.md b/planning/user_stories.md index 1e55ecbcd..d009a6103 100644 --- a/planning/user_stories.md +++ b/planning/user_stories.md @@ -4,10 +4,25 @@ Reference the Writing User Stories final project guide in the course portal for ## Outline User Roles -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ Include at least at least 1, but no more than 3, user roles.] +- Fan +- Artist Admin ## Draft User Stories -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ Include at least at least 10 user stories in this format:] +Include at least at least 10 user stories in this format: -1. As a [user role], I want to [what], so that [why]. +_As a [user role], I want to [what], so that [why]._ + +1. As a Fan, I want to create an account and log in, so that I can save my preferences and see order history. +2. As a Fan, I want to browse a list of artists, so that I can discover new music. +3. As a Fan, I want to view an individual artist's profile page, so that I can see their bio, socials, and Spotify link. +4. As a Fan, I want to follow an artist, so that I get updates when they release new merch or announce shows. +5. As a Fan, I want to unfollow an artist, so that I can curate who I see updates from. +6. As a Fan, I want to browse merch filtered by artist or format, so that I can find what I want quickly. +7. As a Fan, I want to add items to a cart and place an order, so that I can purchase merch. +8. As a Fan, I want to view my order history, so that I can track past purchases. +9. As a Fan, I want to see upcoming concerts for an artist I follow, filtered by city, so that I can find shows near me. +10. As a Fan, I want to see a quick-view panel when I click an artist, so that I can preview their info without leaving the page. +11. As an Artist Admin, I want to create/edit my artist profile, so that fans have accurate bio and social info. +12. As an Artist Admin, I want to add new merch items to my store, so that fans can purchase them. +13. As an Artist Admin, I want to post upcoming concert dates, so that fans know where to see me live. From a3a705d19bae45e52e38c9141487eba543f1f3dd Mon Sep 17 00:00:00 2001 From: arminerika Date: Sun, 5 Jul 2026 20:41:13 -0700 Subject: [PATCH 05/31] readme format typo --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f02fb868b..edcca2638 100644 --- a/README.md +++ b/README.md @@ -71,15 +71,15 @@ Backend: Express, Node.js, PostgreSQL ### (Stretch) Spotify Connect -Link a Spotify account to import playlists and generate personalized recommendations. +- Link a Spotify account to import playlists and generate personalized recommendations. -[gif goes here] +- [gif goes here] ### (Stretch) Real Payment Integration -Real checkout system built on top of the existing order system. +- Real checkout system built on top of the existing order system. -[gif goes here] +- [gif goes here] ## Installation Instructions From 2579cc95ef5a3b74993e2525937f23ce18bafd50 Mon Sep 17 00:00:00 2001 From: Carolina Herrera <115896094+caroherrera24@users.noreply.github.com> Date: Mon, 6 Jul 2026 01:39:51 -0400 Subject: [PATCH 06/31] Edit inspiration section in README Expanded the inspiration section to include references to existing platforms like Ticketmaster and Bandcamp. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index edcca2638..fd8539dd2 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Music fans often have to juggle multiple platforms to keep up with an artist. Fr ### Inspiration -This project builds on ideas from several of our previous coursework projects. Multiple members of our group have worked on music-themed projects earlier in the course that explored artist/music reference content, vinyl and merch customization, and community-oriented spaces. **Sona** brings these ideas together into a single hub where fans can follow artists, engage with a community built around music, and shop artist merch. +This project builds on ideas from several of our previous coursework projects. Multiple members of our group have worked on music-themed projects earlier in the course that explored artist/music reference content, vinyl and merch customization, and community-oriented spaces. **Sona** brings these ideas together into a single hub where fans can follow artists, engage with a community built around music, and shop artist merch. Furthermore, we take inspiration from existing platforms, such as Ticketmaster and Bandcamp, to build from. ## Tech Stack From 4e0d0cbb65a85e7701fd20ad1a6ef1bb1353c856 Mon Sep 17 00:00:00 2001 From: Carolina Herrera Date: Sun, 12 Jul 2026 15:08:14 -0400 Subject: [PATCH 07/31] add entity relationship diagram image --- planning/erd.png | Bin 0 -> 151047 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 planning/erd.png diff --git a/planning/erd.png b/planning/erd.png new file mode 100644 index 0000000000000000000000000000000000000000..59016be2a0e57f0b19c6ccd5f36e7f2d1e0f0451 GIT binary patch literal 151047 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 Date: Sun, 12 Jul 2026 12:52:18 -0700 Subject: [PATCH 08/31] milestone2 submission --- milestones/milestone2.md | 20 ++++++------- planning/entity_relationship_diagram.md | 17 +++++------ planning/erd.png | Bin 151047 -> 0 bytes planning/wireframes.md | 36 ++++++++++++++++++------ 4 files changed, 47 insertions(+), 26 deletions(-) delete mode 100644 planning/erd.png diff --git a/milestones/milestone2.md b/milestones/milestone2.md index e3178cd81..0c1dc8fcf 100644 --- a/milestones/milestone2.md +++ b/milestones/milestone2.md @@ -6,24 +6,24 @@ This document should be completed and submitted during **Unit 6** of this course This unit, be sure to complete all tasks listed below. To complete a task, place an `x` between the brackets. -- [ ] In `planning/wireframes.md`: add wireframes for at least three pages in your web app. - - [ ] Include a list of pages in your app -- [ ] In `planning/entity_relationship_diagram.md`: add the entity relationship diagram you developed for your database. - - [ ] Your entity relationship diagram should include the tables in your database. -- [ ] Prepare your three-minute pitch presentation, to be presented during Unit 7 (the next unit). - - [ ] You do **not** need to submit any materials in advance of your pitch. -- [ ] In this document, complete all three questions in the **Reflection** section below +- [x] In `planning/wireframes.md`: add wireframes for at least three pages in your web app. + - [x] Include a list of pages in your app +- [x] In `planning/entity_relationship_diagram.md`: add the entity relationship diagram you developed for your database. + - [x] Your entity relationship diagram should include the tables in your database. +- [x] Prepare your three-minute pitch presentation, to be presented during Unit 7 (the next unit). + - [x] You do **not** need to submit any materials in advance of your pitch. +- [x] In this document, complete all three questions in the **Reflection** section below ## Reflection ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Our team successesfuly collaborated and made decisions as a group. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +It can be difficult to find a time where everyone is available. ### 3. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Delegating the coding portion between all group members moving forward. diff --git a/planning/entity_relationship_diagram.md b/planning/entity_relationship_diagram.md index 12c25f62c..9787f52e9 100644 --- a/planning/entity_relationship_diagram.md +++ b/planning/entity_relationship_diagram.md @@ -4,14 +4,15 @@ Reference the Creating an Entity Relationship Diagram final project guide in the ## Create the List of Tables -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ List each table in your diagram] +1. users +2. artists +3. profile +4. follows +5. concerts +6. merch +7. concert_purchases +8. merch_purchases ## Add the Entity Relationship Diagram -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ Include an image or images of the diagram below. You may also wish to use the following markdown syntax to outline each table, as per your preference.] - -| Column Name | Type | Description | -|-------------|------|-------------| -| id | integer | primary key | -| name | text | name of the shoe model | -| ... | ... | ... | +![sona erd](https://i.imgur.com/CiixV0q.png) diff --git a/planning/erd.png b/planning/erd.png deleted file mode 100644 index 59016be2a0e57f0b19c6ccd5f36e7f2d1e0f0451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151047 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 Date: Sun, 12 Jul 2026 17:33:02 -0400 Subject: [PATCH 09/31] update ERD --- planning/entity_relationship_diagram.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/planning/entity_relationship_diagram.md b/planning/entity_relationship_diagram.md index 9787f52e9..3bdbc4964 100644 --- a/planning/entity_relationship_diagram.md +++ b/planning/entity_relationship_diagram.md @@ -6,13 +6,14 @@ Reference the Creating an Entity Relationship Diagram final project guide in the 1. users 2. artists -3. profile -4. follows -5. concerts -6. merch -7. concert_purchases -8. merch_purchases +3. admin +4. profile +5. follows +6. concerts +7. merch +8. albums +9. purchases ## Add the Entity Relationship Diagram -![sona erd](https://i.imgur.com/CiixV0q.png) +![sona erd](https://i.imgur.com/jX0Vh5t.png) From 539a1bfaa56a072f365f462028b293f0fcf42a80 Mon Sep 17 00:00:00 2001 From: Chau Cao Date: Sun, 12 Jul 2026 18:42:27 -0500 Subject: [PATCH 10/31] Format wireframe list for better readability --- planning/wireframes.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/planning/wireframes.md b/planning/wireframes.md index f0bb33e6a..a2fc8986c 100644 --- a/planning/wireframes.md +++ b/planning/wireframes.md @@ -7,12 +7,12 @@ Reference the Creating an Entity Relationship Diagram final project guide in the [] Login Page [] Edit User Page [] Edit Artist_User Page -⭐ Artist Directory -⭐ Artist Directory but with a side-view panel -⭐ Artist Detailed Page -⭐ Merch Shop Page -⭐ User's Profile Following Tab -⭐ User's Profile Order History Tab +- ⭐ Artist Directory +- ⭐ Artist Directory but with a side-view panel +- ⭐ Artist Detailed Page +- ⭐ Merch Shop Page +- ⭐ User's Profile Following Tab +- ⭐ User's Profile Order History Tab [] Checkout Cart [] Error Page From 43260c1da8ec1bce9d75a1fffac12338d8148434 Mon Sep 17 00:00:00 2001 From: arminerika Date: Sun, 12 Jul 2026 19:49:56 -0700 Subject: [PATCH 11/31] fix list format --- planning/wireframes.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/planning/wireframes.md b/planning/wireframes.md index a2fc8986c..5793d52f5 100644 --- a/planning/wireframes.md +++ b/planning/wireframes.md @@ -4,38 +4,38 @@ Reference the Creating an Entity Relationship Diagram final project guide in the ## List of Pages -[] Login Page -[] Edit User Page -[] Edit Artist_User Page -- ⭐ Artist Directory -- ⭐ Artist Directory but with a side-view panel -- ⭐ Artist Detailed Page -- ⭐ Merch Shop Page -- ⭐ User's Profile Following Tab -- ⭐ User's Profile Order History Tab -[] Checkout Cart -[] Error Page +- Login +- Edit User +- Edit Artist_User +- Artist Directory ⭐ +- Artist Directory Side-Panel ⭐ +- Artist Detailed ⭐ +- Merch Shop ⭐ +- User's Profile > Following ⭐ +- User's Profile > Order History ⭐ +- Checkout Cart +- Error Default ## Wireframe 1: Artist Directory ![artist directory](https://i.imgur.com/EeJvvYD.png) -## Wireframe 2: Artist Directory but with a side-view panel +## Wireframe 2: Artist Directory Side-Panel ![Artist Directory but with a side-view panel](https://i.imgur.com/ZjfTBHA.png) -## Wireframe 3: Artist Detailed Page +## Wireframe 3: Artist Detailed ![Artist Detailed Page](https://i.imgur.com/3iKhYRY.png) -## Wireframe 4: Merch Shop Page +## Wireframe 4: Merch Shop ![Merch Shop Page](https://i.imgur.com/tjC6Gx6.png) -## Wireframe 5: User's Profile Following Tab +## Wireframe 5: User's Profile > Following Tab ![User's Profile Following Tab](https://i.imgur.com/DCR2sVQ.png) -## Wireframe 6: User's Profile Order History Tab +## Wireframe 6: User's Profile > Order History Tab ![User's Profile Order History Tab](https://i.imgur.com/dDn9gBX.png) From f066df544f6e3dfd232c1a650ee815eda0e93393 Mon Sep 17 00:00:00 2001 From: arminerika Date: Fri, 17 Jul 2026 02:47:02 -0700 Subject: [PATCH 12/31] Issue #1: project setup, schema, and seed data --- sona-app/server/.env.example | 6 + sona-app/server/.gitignore | 2 + sona-app/server/config/database.js | 18 + sona-app/server/config/dotenv.js | 8 + sona-app/server/config/reset.js | 130 ++++ sona-app/server/package-lock.json | 1049 ++++++++++++++++++++++++++++ sona-app/server/package.json | 20 + sona-app/server/server.js | 15 + 8 files changed, 1248 insertions(+) create mode 100644 sona-app/server/.env.example create mode 100644 sona-app/server/.gitignore create mode 100644 sona-app/server/config/database.js create mode 100644 sona-app/server/config/dotenv.js create mode 100644 sona-app/server/config/reset.js create mode 100644 sona-app/server/package-lock.json create mode 100644 sona-app/server/package.json create mode 100644 sona-app/server/server.js diff --git a/sona-app/server/.env.example b/sona-app/server/.env.example new file mode 100644 index 000000000..f1ffd4d5e --- /dev/null +++ b/sona-app/server/.env.example @@ -0,0 +1,6 @@ +PGUSER=your_actual_user +PGHOST=your_actual_host.oregon-postgres.render.com +PGDATABASE=your_actual_db_name +PGPASSWORD=your_actual_password +PGPORT=5432 +PORT=3001 \ No newline at end of file diff --git a/sona-app/server/.gitignore b/sona-app/server/.gitignore new file mode 100644 index 000000000..3ec544c7a --- /dev/null +++ b/sona-app/server/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +.env \ No newline at end of file diff --git a/sona-app/server/config/database.js b/sona-app/server/config/database.js new file mode 100644 index 000000000..0102ef160 --- /dev/null +++ b/sona-app/server/config/database.js @@ -0,0 +1,18 @@ +import pg from "pg"; +import "./dotenv.js"; + +const { Pool } = pg; + +const isLocalhost = + process.env.PGHOST === "localhost" || process.env.PGHOST === "127.0.0.1"; + +const pool = new Pool({ + user: process.env.PGUSER, + host: process.env.PGHOST, + database: process.env.PGDATABASE, + password: process.env.PGPASSWORD, + port: process.env.PGPORT, + ssl: isLocalhost ? false : { rejectUnauthorized: false }, +}); + +export default pool; diff --git a/sona-app/server/config/dotenv.js b/sona-app/server/config/dotenv.js new file mode 100644 index 000000000..b6932e1de --- /dev/null +++ b/sona-app/server/config/dotenv.js @@ -0,0 +1,8 @@ +import dotenv from "dotenv"; +import { fileURLToPath } from "url"; +import path from "path"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +dotenv.config({ path: path.join(__dirname, "..", ".env") }); diff --git a/sona-app/server/config/reset.js b/sona-app/server/config/reset.js new file mode 100644 index 000000000..0ad6e2cb9 --- /dev/null +++ b/sona-app/server/config/reset.js @@ -0,0 +1,130 @@ +import pool from "./database.js"; + +const dropTables = ` + DROP TABLE IF EXISTS posts; + DROP TABLE IF EXISTS follows; + DROP TABLE IF EXISTS admin; + DROP TABLE IF EXISTS profile; + DROP TABLE IF EXISTS artists; + DROP TABLE IF EXISTS users; +`; + +const createTables = ` + CREATE TABLE users ( + id SERIAL PRIMARY KEY, + username VARCHAR(50) UNIQUE NOT NULL, + role VARCHAR(20) NOT NULL DEFAULT 'fan', + created_at TIMESTAMP DEFAULT NOW() + ); + + CREATE TABLE artists ( + id SERIAL PRIMARY KEY, + name VARCHAR(100) NOT NULL, + genre VARCHAR(50), + photo VARCHAR(255), + created_at TIMESTAMP DEFAULT NOW() + ); + + -- one-to-one: artists <-> profile + CREATE TABLE profile ( + artist_id INTEGER UNIQUE REFERENCES artists(id) ON DELETE CASCADE, + description TEXT, + instagram VARCHAR(100), + twitter VARCHAR(100), + facebook VARCHAR(100), + tiktok VARCHAR(100), + spotify VARCHAR(255) + ); + + -- one-to-one: users <-> artists, via admin + CREATE TABLE admin ( + id SERIAL PRIMARY KEY, + user_id INTEGER UNIQUE REFERENCES users(id) ON DELETE CASCADE, + artist_id INTEGER UNIQUE REFERENCES artists(id) ON DELETE CASCADE + ); + + -- many-to-many join table: users <-> artists + CREATE TABLE follows ( + user_id INTEGER REFERENCES users(id) ON DELETE CASCADE, + artist_id INTEGER REFERENCES artists(id) ON DELETE CASCADE, + created_at TIMESTAMP DEFAULT NOW(), + PRIMARY KEY (user_id, artist_id) + ); + + CREATE TABLE posts ( + id SERIAL PRIMARY KEY, + artist_id INTEGER REFERENCES artists(id) ON DELETE CASCADE, + content TEXT NOT NULL, + created_at TIMESTAMP DEFAULT NOW() + ); +`; + +async function seed() { + const client = await pool.connect(); + try { + console.log("Dropping existing tables..."); + await client.query(dropTables); + + console.log("Creating tables..."); + await client.query(createTables); + + console.log("Seeding users..."); + const users = await client.query(` + INSERT INTO users (username, role) VALUES + ('testfan', 'fan'), + ('testadmin', 'artist_admin') + RETURNING id, username, role; + `); + const [fan, testAdmin] = users.rows; + + console.log("Seeding artists..."); + const artists = await client.query(` + INSERT INTO artists (name, genre, photo) VALUES + ('Test Artist 1', 'Pop', 'https://picsum.photos/seed/artist1/400/400'), + ('Test Artist 2', 'Rock', 'https://picsum.photos/seed/artist2/400/400'), + ('Test Artist 3', 'Hip-Hop', 'https://picsum.photos/seed/artist3/400/400') + RETURNING id, name; + `); + const [artist1, artist2, artist3] = artists.rows; + + console.log("Seeding profiles..."); + await client.query( + `INSERT INTO profile (artist_id, description, instagram, twitter, spotify) VALUES + ($1, 'Placeholder bio for Test Artist 1.', '@testartist1', '@testartist1', 'https://open.spotify.com/artist/example1'), + ($2, 'Placeholder bio for Test Artist 2.', '@testartist2', '@testartist2', 'https://open.spotify.com/artist/example2'), + ($3, 'Placeholder bio for Test Artist 3.', '@testartist3', '@testartist3', 'https://open.spotify.com/artist/example3') + `, + [artist1.id, artist2.id, artist3.id], + ); + + console.log("Seeding admin link..."); + await client.query( + `INSERT INTO admin (user_id, artist_id) VALUES ($1, $2)`, + [testAdmin.id, artist1.id], + ); + + console.log("Seeding follows..."); + await client.query( + `INSERT INTO follows (user_id, artist_id) VALUES ($1, $2), ($1, $3)`, + [fan.id, artist1.id, artist3.id], + ); + + console.log("Seeding posts..."); + await client.query( + `INSERT INTO posts (artist_id, content) VALUES + ($1, 'Placeholder post from Test Artist 1.'), + ($2, 'Placeholder post from Test Artist 2.') + `, + [artist1.id, artist2.id], + ); + + console.log("βœ… Database reset and seeded successfully."); + } catch (err) { + console.error("Seed error:", err); + } finally { + client.release(); + pool.end(); + } +} + +seed(); diff --git a/sona-app/server/package-lock.json b/sona-app/server/package-lock.json new file mode 100644 index 000000000..40c6334de --- /dev/null +++ b/sona-app/server/package-lock.json @@ -0,0 +1,1049 @@ +{ + "name": "server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "server", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "pg": "^8.22.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^2.0.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", + "on-finished": "^2.4.1", + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dotenv": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pg": { + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.22.0.tgz", + "integrity": "sha512-8wih1vVIBMxoUM2oB4soJsD9tDnDpLv4OXBJ+EJzFsvycD+lfyIreC2gGHq78f8jbLLt+bvlPTFdFZfJkOuzAA==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.14.0", + "pg-pool": "^3.14.0", + "pg-protocol": "^1.15.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.4.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", + "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.0.tgz", + "integrity": "sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", + "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.15.0.tgz", + "integrity": "sha512-cq9sECI5s0+uPUXjbz8ioyPJni6RzsRib0US67i5IoTZKw8fNeYlVE7u8F4dG7vEJJtc5wdD1K189lCCUwqWTQ==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + } + } +} diff --git a/sona-app/server/package.json b/sona-app/server/package.json new file mode 100644 index 000000000..e74677373 --- /dev/null +++ b/sona-app/server/package.json @@ -0,0 +1,20 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "server.js", + "type": "module", + "scripts": { + "dev": "node --watch server.js", + "reset-db": "node config/reset.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "pg": "^8.22.0" + } +} diff --git a/sona-app/server/server.js b/sona-app/server/server.js new file mode 100644 index 000000000..c0583ca11 --- /dev/null +++ b/sona-app/server/server.js @@ -0,0 +1,15 @@ +import express from "express"; +import cors from "cors"; +import "./config/dotenv.js"; + +const app = express(); +const PORT = process.env.PORT || 3001; + +app.use(cors()); +app.use(express.json()); + +app.get("/api/health", (req, res) => res.json({ status: "ok" })); + +app.listen(PORT, () => { + console.log(`Sona server running on http://localhost:${PORT}`); +}); From 9b62a52a2111c797d08f14643734713137f6ab67 Mon Sep 17 00:00:00 2001 From: Dev Goswami Date: Sat, 18 Jul 2026 13:17:46 -0400 Subject: [PATCH 13/31] Issue #2: Artist CRUD API, Directory, and Detail page --- sona-app/client/.gitignore | 24 + sona-app/client/.oxlintrc.json | 8 + sona-app/client/README.md | 16 + sona-app/client/index.html | 13 + sona-app/client/package-lock.json | 1444 +++++++++++++++++ sona-app/client/package.json | 24 + sona-app/client/public/favicon.svg | 1 + sona-app/client/public/icons.svg | 24 + sona-app/client/src/App.css | 184 +++ sona-app/client/src/App.jsx | 17 + sona-app/client/src/api.js | 31 + sona-app/client/src/assets/hero.png | Bin 0 -> 13057 bytes sona-app/client/src/assets/react.svg | 1 + sona-app/client/src/assets/vite.svg | 1 + sona-app/client/src/components/ArtistCard.jsx | 20 + sona-app/client/src/currentUser.js | 3 + sona-app/client/src/index.css | 141 ++ sona-app/client/src/main.jsx | 20 + sona-app/client/src/pages/ArtistDetail.jsx | 144 ++ sona-app/client/src/pages/Directory.jsx | 52 + sona-app/client/vite.config.js | 7 + sona-app/server/routes/artists.js | 176 ++ sona-app/server/routes/users.js | 23 + sona-app/server/server.js | 4 + 24 files changed, 2378 insertions(+) create mode 100644 sona-app/client/.gitignore create mode 100644 sona-app/client/.oxlintrc.json create mode 100644 sona-app/client/README.md create mode 100644 sona-app/client/index.html create mode 100644 sona-app/client/package-lock.json create mode 100644 sona-app/client/package.json create mode 100644 sona-app/client/public/favicon.svg create mode 100644 sona-app/client/public/icons.svg create mode 100644 sona-app/client/src/App.css create mode 100644 sona-app/client/src/App.jsx create mode 100644 sona-app/client/src/api.js create mode 100644 sona-app/client/src/assets/hero.png create mode 100644 sona-app/client/src/assets/react.svg create mode 100644 sona-app/client/src/assets/vite.svg create mode 100644 sona-app/client/src/components/ArtistCard.jsx create mode 100644 sona-app/client/src/currentUser.js create mode 100644 sona-app/client/src/index.css create mode 100644 sona-app/client/src/main.jsx create mode 100644 sona-app/client/src/pages/ArtistDetail.jsx create mode 100644 sona-app/client/src/pages/Directory.jsx create mode 100644 sona-app/client/vite.config.js create mode 100644 sona-app/server/routes/artists.js create mode 100644 sona-app/server/routes/users.js diff --git a/sona-app/client/.gitignore b/sona-app/client/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/sona-app/client/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/sona-app/client/.oxlintrc.json b/sona-app/client/.oxlintrc.json new file mode 100644 index 000000000..125507823 --- /dev/null +++ b/sona-app/client/.oxlintrc.json @@ -0,0 +1,8 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["react", "oxc"], + "rules": { + "react/rules-of-hooks": "error", + "react/only-export-components": ["warn", { "allowConstantExport": true }] + } +} diff --git a/sona-app/client/README.md b/sona-app/client/README.md new file mode 100644 index 000000000..d937833bd --- /dev/null +++ b/sona-app/client/README.md @@ -0,0 +1,16 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the Oxlint configuration + +If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and Oxlint's TypeScript related rules in your project. diff --git a/sona-app/client/index.html b/sona-app/client/index.html new file mode 100644 index 000000000..6e56e6e40 --- /dev/null +++ b/sona-app/client/index.html @@ -0,0 +1,13 @@ + + + + + + + client + + +
+ + + diff --git a/sona-app/client/package-lock.json b/sona-app/client/package-lock.json new file mode 100644 index 000000000..1ab8b1396 --- /dev/null +++ b/sona-app/client/package-lock.json @@ -0,0 +1,1444 @@ +{ + "name": "client", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client", + "version": "0.0.0", + "dependencies": { + "react": "^19.2.7", + "react-dom": "^19.2.7", + "react-router-dom": "^7.18.1" + }, + "devDependencies": { + "@types/react": "^19.2.17", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.3", + "oxlint": "^1.71.0", + "vite": "^8.1.1" + } + }, + "node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.139.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.139.0.tgz", + "integrity": "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@oxlint/binding-android-arm-eabi": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.74.0.tgz", + "integrity": "sha512-+gHd12muVI9ZLBaWLPkHt3Fj7jihFjgQ1MGtBaRL8vWrWrI0P7dLUty/cHrHS0oqPYIRgQUJsPu2CExQuMcwNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-android-arm64": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.74.0.tgz", + "integrity": "sha512-xjKdoMB+H+RCOByv/7l7nfIGW9mlOisqYdcyC75UqYuQecLpReAeEYUf2CNeDEI3KtmUgxpRw/+c63y4AeF/Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-darwin-arm64": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.74.0.tgz", + "integrity": "sha512-iUK7wvc6sejMKsC+Pt67mntoF5weFcyEunhZfLJceU6gL419mexz5wBkSx/EnkFBExMLNtOi9fnDSc5xfK0IzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-darwin-x64": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.74.0.tgz", + "integrity": "sha512-ggKc/tn5SJ1u2yG2izC6VKODfYKV8MQ2AicJlNzOjuyrC29udvOef6/JzK2r32xqCnBDLFouR1VCkjzEI0/N9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-freebsd-x64": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.74.0.tgz", + "integrity": "sha512-u++dH/43jy9hTLbneaWlS0gla/Bp1JdwJ2zgevCl8nDFUh6qRCGMxcL0f0lb7By3A9p/LfFr+7cG4HU1hG856g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm-gnueabihf": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.74.0.tgz", + "integrity": "sha512-Sj1zmtFDVTPeIbIz4ZfcXAbFHqCmKCXdCUlAJzvTF7I20NTH1RDpoF2PhkqNODutJzVhJYmm3oz0GwgY+tvE2g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm-musleabihf": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.74.0.tgz", + "integrity": "sha512-//PKyQb/tQXcHArx2f7z+oVI/eMS2Jpv+edNuAtOrgIhWdGcpHxogveAxzmF2rpH1AIHp4Hq04RF/rgJdiICnQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm64-gnu": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.74.0.tgz", + "integrity": "sha512-/k1Me+aX2tjuH10K62mLS0y8cLkJBHX6Ce0xPK+eWeel4bSdEGZ8dv4+hYMzg0GrSmjwy4yAYsDPeEeKBft/2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-arm64-musl": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.74.0.tgz", + "integrity": "sha512-3tFSjBxc5D8/zvjEuLvOqcA8ZXKD0+6NuaVO/edeamNc49MoAsbfaC9s1UiwODwgF6slGaF8yJA2TPkukd77tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-ppc64-gnu": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.74.0.tgz", + "integrity": "sha512-9QggtPkSPXOCTu8Szis7auOK/sC7KdQaN+/TujP7YVVhzCAOhgdRfgv8uEz0r2tk5xdgus5rLYUrCDoZNtiRUw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-riscv64-gnu": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.74.0.tgz", + "integrity": "sha512-VM5VPUJ4DJIWiK+AZn8FScUqMr6OFrCAYybMYjEEi7W13ParI64MByiXTkKMqZpBmvQ9zxl9Ebq2VUOiZRJYUg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-riscv64-musl": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.74.0.tgz", + "integrity": "sha512-SaDY1gh9rOA592J54g+gu5hkOFFQBZsMmIYHs+NRHG+Uq0OxtuuCXMWQ3vu1830Eugv5uMXyjG+bv2Z9y4IXjw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-s390x-gnu": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.74.0.tgz", + "integrity": "sha512-ZATQeHZCyr6MbDveg0obD5sxLHFOghtOdC5jwVwYlvFWqtFOxctgFEG6Ef/64hYvZrWyhyCckB10AelqLopeDA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-x64-gnu": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.74.0.tgz", + "integrity": "sha512-+aIvJyrdeD7LwCQ2WYLMUWNmnbeDRSPb40aBYtPjD9+PTqUwgJnk+HK5yLfSMeqXrMrDhE9uTmtt2y50tvjhHw==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-linux-x64-musl": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.74.0.tgz", + "integrity": "sha512-XyktaR8lhK2qWiCK0Tk8oYD+/cgn+oHA6ddRnxSSXUKkkojkV78CmShZUxQF+yrBFs0SuW+JBOPG6hecyc/iZg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-openharmony-arm64": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.74.0.tgz", + "integrity": "sha512-mzbjrPl4neaVUiJ1fUiEUxTGaSZBoiKtaoB6jmIpz9S+VOA2vDYmJpihQ82w6178V5jxziclTg8Cgj5yF6tTDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-win32-arm64-msvc": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.74.0.tgz", + "integrity": "sha512-vUAe9okpS2Oa5+lX67lqHMuNUvfkleRKwrUDJ/WJBsgmddvZ1mrsh2HVmuFDRzqFELhaJhFaCNOuR6a7L3rtIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-win32-ia32-msvc": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.74.0.tgz", + "integrity": "sha512-yyXXJyYYSXL4I8K8jAWjJs+J3fa9gH2JmEbo4f5adm+1tNC9itseicBNuwK7BDHvqQ5J534s+yDULu89vYL2ZQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxlint/binding-win32-x64-msvc": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.74.0.tgz", + "integrity": "sha512-VTC9IYTIMrVUk/i6Ms1ohzzDKZFkWn0KU2OBbPBzgmVZ2V30165T/zK4LztTr0Xgp9fZ1qQZ1rsZAu/rEmySlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz", + "integrity": "sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.5.tgz", + "integrity": "sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.5.tgz", + "integrity": "sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.5.tgz", + "integrity": "sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.5.tgz", + "integrity": "sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.5.tgz", + "integrity": "sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.5.tgz", + "integrity": "sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.5.tgz", + "integrity": "sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.5.tgz", + "integrity": "sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.5.tgz", + "integrity": "sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.5.tgz", + "integrity": "sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.5.tgz", + "integrity": "sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.5.tgz", + "integrity": "sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.5.tgz", + "integrity": "sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.5.tgz", + "integrity": "sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.3.tgz", + "integrity": "sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/nanoid": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/oxlint": { + "version": "1.74.0", + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.74.0.tgz", + "integrity": "sha512-odGl2s2x5IOJoj3A0v1k0PGBXVFBZeZ2+AK/+K2MJur7Ghi3bkyX5NuLUWHKqa4js1wjep3hJeuTQJOlr+4+dA==", + "dev": true, + "license": "MIT", + "bin": { + "oxlint": "bin/oxlint" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxlint/binding-android-arm-eabi": "1.74.0", + "@oxlint/binding-android-arm64": "1.74.0", + "@oxlint/binding-darwin-arm64": "1.74.0", + "@oxlint/binding-darwin-x64": "1.74.0", + "@oxlint/binding-freebsd-x64": "1.74.0", + "@oxlint/binding-linux-arm-gnueabihf": "1.74.0", + "@oxlint/binding-linux-arm-musleabihf": "1.74.0", + "@oxlint/binding-linux-arm64-gnu": "1.74.0", + "@oxlint/binding-linux-arm64-musl": "1.74.0", + "@oxlint/binding-linux-ppc64-gnu": "1.74.0", + "@oxlint/binding-linux-riscv64-gnu": "1.74.0", + "@oxlint/binding-linux-riscv64-musl": "1.74.0", + "@oxlint/binding-linux-s390x-gnu": "1.74.0", + "@oxlint/binding-linux-x64-gnu": "1.74.0", + "@oxlint/binding-linux-x64-musl": "1.74.0", + "@oxlint/binding-openharmony-arm64": "1.74.0", + "@oxlint/binding-win32-arm64-msvc": "1.74.0", + "@oxlint/binding-win32-ia32-msvc": "1.74.0", + "@oxlint/binding-win32-x64-msvc": "1.74.0" + }, + "peerDependencies": { + "oxlint-tsgolint": ">=0.24.0", + "vite-plus": "*" + }, + "peerDependenciesMeta": { + "oxlint-tsgolint": { + "optional": true + }, + "vite-plus": { + "optional": true + } + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.19.tgz", + "integrity": "sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-router": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.18.1.tgz", + "integrity": "sha512-GDLgg3i3uM0aeJO3Fm+TCS+sDQ7gu12T6x0qdTEzcwqEfleci7JwugVNIF3U//0FWKnJT7ptG+20B2jfDqnZAg==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.18.1.tgz", + "integrity": "sha512-KaZh+X/6UtEp28x51AUYZDMg9NGoz2ja3dNHa+ta/tk40vCzKhQ/RypCWBMLbmDr6//E24Vv5uPsrqXFozdkAg==", + "license": "MIT", + "dependencies": { + "react-router": "7.18.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/rolldown": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz", + "integrity": "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.139.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.1.5", + "@rolldown/binding-darwin-arm64": "1.1.5", + "@rolldown/binding-darwin-x64": "1.1.5", + "@rolldown/binding-freebsd-x64": "1.1.5", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.5", + "@rolldown/binding-linux-arm64-gnu": "1.1.5", + "@rolldown/binding-linux-arm64-musl": "1.1.5", + "@rolldown/binding-linux-ppc64-gnu": "1.1.5", + "@rolldown/binding-linux-s390x-gnu": "1.1.5", + "@rolldown/binding-linux-x64-gnu": "1.1.5", + "@rolldown/binding-linux-x64-musl": "1.1.5", + "@rolldown/binding-openharmony-arm64": "1.1.5", + "@rolldown/binding-wasm32-wasi": "1.1.5", + "@rolldown/binding-win32-arm64-msvc": "1.1.5", + "@rolldown/binding-win32-x64-msvc": "1.1.5" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/vite": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.5.tgz", + "integrity": "sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.5", + "postcss": "^8.5.17", + "rolldown": "~1.1.5", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.3.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + } + } +} diff --git a/sona-app/client/package.json b/sona-app/client/package.json new file mode 100644 index 000000000..feeb18765 --- /dev/null +++ b/sona-app/client/package.json @@ -0,0 +1,24 @@ +{ + "name": "client", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "oxlint", + "preview": "vite preview" + }, + "dependencies": { + "react": "^19.2.7", + "react-dom": "^19.2.7", + "react-router-dom": "^7.18.1" + }, + "devDependencies": { + "@types/react": "^19.2.17", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.3", + "oxlint": "^1.71.0", + "vite": "^8.1.1" + } +} diff --git a/sona-app/client/public/favicon.svg b/sona-app/client/public/favicon.svg new file mode 100644 index 000000000..6893eb132 --- /dev/null +++ b/sona-app/client/public/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sona-app/client/public/icons.svg b/sona-app/client/public/icons.svg new file mode 100644 index 000000000..e9522193d --- /dev/null +++ b/sona-app/client/public/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sona-app/client/src/App.css b/sona-app/client/src/App.css new file mode 100644 index 000000000..f90339d8f --- /dev/null +++ b/sona-app/client/src/App.css @@ -0,0 +1,184 @@ +.counter { + font-size: 16px; + padding: 5px 10px; + border-radius: 5px; + color: var(--accent); + background: var(--accent-bg); + border: 2px solid transparent; + transition: border-color 0.3s; + margin-bottom: 24px; + + &:hover { + border-color: var(--accent-border); + } + &:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; + } +} + +.hero { + position: relative; + + .base, + .framework, + .vite { + inset-inline: 0; + margin: 0 auto; + } + + .base { + width: 170px; + position: relative; + z-index: 0; + } + + .framework, + .vite { + position: absolute; + } + + .framework { + z-index: 1; + top: 34px; + height: 28px; + transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) + scale(1.4); + } + + .vite { + z-index: 0; + top: 107px; + height: 26px; + width: auto; + transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) + scale(0.8); + } +} + +#center { + display: flex; + flex-direction: column; + gap: 25px; + place-content: center; + place-items: center; + flex-grow: 1; + + @media (max-width: 1024px) { + padding: 32px 20px 24px; + gap: 18px; + } +} + +#next-steps { + display: flex; + border-top: 1px solid var(--border); + text-align: left; + + & > div { + flex: 1 1 0; + padding: 32px; + @media (max-width: 1024px) { + padding: 24px 20px; + } + } + + .icon { + margin-bottom: 16px; + width: 22px; + height: 22px; + } + + @media (max-width: 1024px) { + flex-direction: column; + text-align: center; + } +} + +#docs { + border-right: 1px solid var(--border); + + @media (max-width: 1024px) { + border-right: none; + border-bottom: 1px solid var(--border); + } +} + +#next-steps ul { + list-style: none; + padding: 0; + display: flex; + gap: 8px; + margin: 32px 0 0; + + .logo { + height: 18px; + } + + a { + color: var(--text-h); + font-size: 16px; + border-radius: 6px; + background: var(--social-bg); + display: flex; + padding: 6px 12px; + align-items: center; + gap: 8px; + text-decoration: none; + transition: box-shadow 0.3s; + + &:hover { + box-shadow: var(--shadow); + } + .button-icon { + height: 18px; + width: 18px; + } + } + + @media (max-width: 1024px) { + margin-top: 20px; + flex-wrap: wrap; + justify-content: center; + + li { + flex: 1 1 calc(50% - 8px); + } + + a { + width: 100%; + justify-content: center; + box-sizing: border-box; + } + } +} + +#spacer { + height: 88px; + border-top: 1px solid var(--border); + @media (max-width: 1024px) { + height: 48px; + } +} + +.ticks { + position: relative; + width: 100%; + + &::before, + &::after { + content: ''; + position: absolute; + top: -4.5px; + border: 5px solid transparent; + } + + &::before { + left: 0; + border-left-color: var(--border); + } + &::after { + right: 0; + border-right-color: var(--border); + } +} diff --git a/sona-app/client/src/App.jsx b/sona-app/client/src/App.jsx new file mode 100644 index 000000000..94cce4e29 --- /dev/null +++ b/sona-app/client/src/App.jsx @@ -0,0 +1,17 @@ +import { Link, Outlet } from "react-router-dom"; + +function App() { + return ( + <> + +
+ +
+ + ); +} + +export default App; diff --git a/sona-app/client/src/api.js b/sona-app/client/src/api.js new file mode 100644 index 000000000..e75257e91 --- /dev/null +++ b/sona-app/client/src/api.js @@ -0,0 +1,31 @@ +const BASE = import.meta.env.VITE_API_URL || "http://localhost:3001"; + +async function request(path, options) { + const res = await fetch(`${BASE}/api${path}`, { + headers: { "Content-Type": "application/json" }, + ...options, + }); + if (!res.ok) throw new Error(`Request failed: ${res.status}`); + return res.status === 204 ? null : res.json(); +} + +export const getArtists = ({ q = "", genre = "" } = {}) => { + const params = new URLSearchParams(); + if (q) params.set("q", q); + if (genre) params.set("genre", genre); + const qs = params.toString(); + return request(`/artists${qs ? `?${qs}` : ""}`); +}; + +export const getArtist = (id) => request(`/artists/${id}`); + +export const updateArtist = (id, data) => + request(`/artists/${id}`, { method: "PATCH", body: JSON.stringify(data) }); + +export const deleteArtist = (id, userId) => + request(`/artists/${id}`, { + method: "DELETE", + body: JSON.stringify({ user_id: userId }), + }); + +export const getAdminOf = (userId) => request(`/users/${userId}/admin-of`); diff --git a/sona-app/client/src/assets/hero.png b/sona-app/client/src/assets/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..02251f4b956c55af2d76fd0788124d7eee2b45eb GIT binary patch literal 13057 zcmV+cGycqpP)V|)f$;Qooc7=_G zlYe)HToTQIc!$)^+J1M1y0*T%w!p~7%ux`!eRhO?c80XDxKQ*R^lUUMnA>6NT^?feoZ8xxvP32D&s-9ow zqjcM}eesrC)NeDmsf)*P7wJ|K!&xP%Zy4iI8lF)Tv2!reW)tCzg_1=PmOwd1SQfxa z8;58t!=z~Ba7CYlNWVG>he8aRPY|+-JmozNhn!#9i#77Aa_Edt$ijyCWL#=~I>~2X zZNrQ8I0=D+NWD4pq=7~(i zhfThMNw|G>g^y9pGzxX7ZSApl@tIxFcs{p#MX{Ax&XZT+cR#U+OWc@S)pkIuI}dzu zH?^Q=<(y&Vq-oxSLfc0Zmq81bjZWf}RnssBaD6}2g-XJHLcN_|*IOu>m|x$nbm(?E zyNy!Zp=RroS;?Vg*kmoJYBi!n5{_^@rA!)=t#a^;N$8GL!*DsQb}`yvEuX!G@||An znOfUZAevPrkV_qjl|<~3QRZzG&h@C9Y5z zqpNH4xqbF_InIPh)kX}Vn^5kyed|mOuq+2>M;v~KO37a#yrEn3XDqtOl=rc6_KZ!; zreo)DFVB4|>1Zd(bvMI%8uM;3!)YMYu&cG?(PE!B~y@3yKBMt|R zAf=I16tFwPsl)!jDqvYkLHaAQ+f@W1m6F5aZvwhm4JL z{_l)@b;)mDSzle2gyFP5-r1x-5X{G}ot%VyWP@vEW80!Q=f%RTfpg>B*TA^pyWYUQ z<=xPtz}WcZ!;rFl4m1D&FFHv?K~#9!?A%+fn=lXt;9!Fc#kQ;zk~gZFsH z8e5iu@c_pzX&qb8&Dum*oXwB+fm6l6gFfC|o*wgEiy6tw~&co z9Vd_4)P%wP-KwQW7|lN-znGK#?N+j24U=$982myIBM+vsiKsc*@4-rwJxuAaHKna6 zT3wi!C~a4ZKH03qU}_1bKyx0&$CaK7_%Z+Kl$)fF5^op zZApQF2TvDav!s|krTjw-8US6ep z%!VmX4luub+fseQz_D9ATJQ?iQQwD}TZz{-yo#l12a%+7bT@E(X-hyaVS-5vuXc#^ zx^w;L21;NphGVoj*{s3f4dme0y2LC=G1-7THd`#z?;tuC{^9k(dM{Rf2GOxg7Jzho z7nSZHl7?M9kdalX`)YgoKEfiae5+;$(OGeN1eqxrv!ZCVKyH>xiyNqfe8xzY8*7)H zQls8KMp)F4D>ED;idMOU^^WhVF@q>ZSmeB0y~qC~|DB648hr%Sh|*T(4q|w2l?m2+ zvBVw3@7+Mz?^Yc#+se6KM;a<=(W-I>k)$-qL2V*t}VaW`;?P4)WqI%maIDq8!oUcSYAD`}wWjkSyAVsnF65#2zQ zZ>(K*TlS(E#4y$4Zq+e^_&}d)q20hCe3!LfLYP%nQpLJ~gM6a1hJlz3)aS<9C9me| zAcmJ#>tOwBy{HoP0Sm1&_(E+S@6 zgBIFUoei8zJmdpiq8q5=OY7t@`)JWxn_&GvKVr=Zdb_pEL_j|=?f;WK^U9Q0efd#K z9q7SfJTl4pmA$jsZ5oK8@O9#!I3Cv-kL)<8SalSsp#dcpvJ}Nz#G6FC0%9|7Fi#8; zGDJXtj!&GljT3*HE@0EE>G8Se&d)*nkqe}-?`3vPl&UqK?xG z!3XJ4M-x`EuQjhBbu?ik-)rmIt=DF_N?TVMP)8Gjn)TZ2V%H|zENbeix}kOxd@0}Q z>)HuH6Ean!uS#~4g2Ne2WsMGel|h%j9*W_quQheG^JqmKhc*RYzp0wKlGjBq2VzY_ zgOv8WC1+%W=W)k)Yp_`8kfE=uiiwOZTXi8Uj9YGr$f@yJcJ;#&-Nq~sJ7anE(@;QN z=~br%7%7`isKStX|7!1?L(apl^QvPKlrHV4S+6tNVQ*R1iGdC~WMNE1$a+=rpQmcB z>wxiLIBvOnm;u*;9Y!kJdy(T4lk|8>JAm(&wEsFIF1$_*{>2ZNd$V6DS=SfrGxAv0 zzKe377JI`&o9Ljr+VnS*EwehA{f&{cKZF(6*MG5!p5MvrFA3ll{fmRG*L@6^cb;o^ z3Wm8c?Sc6$`>~VEWw(c$Y?nRO;2Q$=ulpqPtM^=1IZx;@xK0PgO7rKQ^WHVLwtgUT z%|JF{^f(VH)wLKQ%dYiu2RmchBdxL0-M?wxxul_z*{h6ZZ`>-k(vizs((vW8Lt6Z6 zY;Dt?@JWyN`O`f;&d1Mb?e%9oyRK1ql?EE5XB2(W)|D1~Rx35$H6@6)$F?)7V|zEO zI}fu0-0}8W5=6sg$fPnZ~7=tTudl?Ecb@pxbo)vni%gP-?hL|%*?62C;x6?@E`VRnJv z?fTb;k4x;TS7Cu-z%J}uy}e-pwpLQ17Q@4DC+FCdAmNKklG$`I_pyw7E{fYmw~{Fj zi?6KcVy=Wrel)EB_DWO|0CKmI|13!gBV?X`Ozp7x>?6jr`>Qz=^4ea35!$*f}) zS$i+x_k+@P2q1RFUH^ZTTk7=n?cjfR>hTq3l3SY~#w+I8SSutXGyhw;Ws~=zMQ%Vc z>$On~47Ut?P*_!TOQ&PFmLAyJieB2X4_Fd_!WxI-AY`q1Lc-oK?+qcOTzlQ?@~x@OT}*9jTVNfl@3rGvZpWI=eKg>T zZb@6YWz)J=IhP7CF|c?G62vMEG%#U}?#86$0jR4sG~i(jRd#jmn`7b(O#?N;3a;1t zhXLssmUwGhp79luw#(*V8WL0|8+E z6=YZ_O@er~$LrD_PYGc(kJgB=;yw#+Z3X6LDUZ(NcwN=B-hjdiHm!JFar%m{(5bEW z@@_VEtG$5;`EJZ|OkJ@l&G9n((w@uNFwmU%bG|s#TbcJJos!{e+bjCjrCq_}LcN!UFgKtgg7siV*7# z!}1whTRRi*-avJPu->C}Z8EiuK$#886+H_#_!btv+rsiBbv2jAJvJ+O0{#}y(%L3H zfjU-kq_-L@2XrL*ae{{qYJkD{@dw%*bkh2P&YS-0!Xt!PRz7KHV0+~j(t9W8lAVWR zt@B*DgURgEz4>WuN>o?_iKcw$?k{||Pg7{Q2o4|VmJ)mg?{VQJA<}zEr^YAAS zgGm5RT4T3p)U;yz-tfBO^kw8?IoG!IVmc+Z3m#}AOQ?5MRa>)OcU!$N^_+yK6ayn? zK>~WK0!#ysuj^oNLakm)Zvu+J)OSubX^kv!c*xgdIvs;kln!rgG4*uZ;w0mQQO4XD zO9P{GNdv!=cQ(CAL{S(%KtuV^zC&Q{%g)PoXnp^gn^>c*`E>$hLYg2HjnbVGtWLa{7zHdG1jT@B{|Dm16 z7K2(jsfG+m*Zxof)iXxu+!H5Mo-0$pkyV3VV4B@Qms46M zuBxGRV@HxU7Wwx-6CB zaU*HO<_qn$5GH>&@?nRy1{z zkik!sLfWQ)r#75)vVwCBU*r_)Q6mp?!j85{#Xqse)ApRdE$V0%I0*~e(_{)5H)`Mk z#rExC>yjhZxuL@|+#v4#<Axw$+VpV zuT;!2Vww$je$DpAW`$FX_Ab|Ip%$;&T$-lW8jS~B$>G}rd>eQG+$h9lQx4Mx0w={m zx9?T6VU`>sR}XClkAhHEShOUe8awiq zmizhL+}5UKs3}6~It7vBTig9dfQ2Q8coo+Miiaw7n~>4ybv2Ptt0^^=VqX(t*Yya9 zr`FxxFX8(v*H=+uJ#JJWIB2A(==HDYx~^zZ2nu?2`}|Wsa*f3h3ixc+U|FDtAG$Y! z*lc_7se5Oso-Cgqe0){{!8H4g$3<8!R<6JOurD;((({c$1(pwb>(#TT!sge@4>r2@ zVL7>U`0`nsWAYErezk4(Z!gMI2?UTo{J3Ajo(u4)KYIRd>BRcG4BoS3G0EXyEp@tw z%P7__?A^a>Q&AKL@ayDO9D*Qkc!NHnO9l}kpp_6hXbMppYL(X1L?njdFT|-h2<_$; zAtDZ!1Rf%|yb!qbWKd}%0b`LzBeyNy43|QO(&h2mxQLUL)|0%agVOW)6TV!&Ip^Ls z`PG2cygM8)IecQx=Fc+nqYRo4hS^^-nM_&-y8?EJXUczP=DIw(GkTJdpEdh<_STs{ z|A)4n1GKdE=Wu!!nYoZHcUQ4S&R;oDOKX2lrkdF(mK>hz<$Pp>igjOcvoRIjlN=W8 zu8Gx5(roqn8$>gEE5vy{GiGeW8Tq{vnf3hS-V=$tZkQuftUVuU8o6k&dn=Yg3)6MOIH>nlK^-2+C6BZITr~1@So?NvG#TwL)|~=1YXGMTLpS<)ziK_CSOabe z=cB#5)yz|@0i9dSo?*CX)}UP=s6)B+F@~Em(u@Q(I9J9i_V{LmMu8BfXYMh~*oPP+ z!3~xTv|(>|=n6ZOtT~C@V!z!w%18*8T2t6}U2S##rC)mekBql&VsBX;$~ByGE$oA9 z`0Wzq8p?R{4)$l*on;!cLa}Dh^Xe?owiQZt9nH1fxxh$pN9K%CtOw?u3>85L7rr!d zXs)l{TZ{xXP&U8exz?9cv~dNNibOmt*K4I$?RxqIBZ0(?Mg-9FS{*9Bc49Qc1`=sIF-rye`aNT1G@4NwXcnyc@+bw_mTsR>5< zF<2;X0QesG_pw|TonqVBhRtfqI>ty(SIu&VOXd0CrLlfp+;WH7HYjhqnu^oAY!9cB z=B6#R?Rfz9BP`dJ=@v_?70s3HxQPk+{6Y+lM85f2NF^00*^OcM0~?JOZfR9ZPYF+# zYSs}(_BUYV8{n@2a1hD^SV41bwmi2uztR;PeBgF1F-`9>`zoNss-@3LaF2sjl~>OaaVmp7PNp+UT`6@}gR%uzqHDVeEZ14{Yt?n%JeQm+t(1_u zSc}oj^{b;+rlS|ME%+LjzSI&xu0Bblxo$MJ-J$kJ?Qu_XUXh}*@*-x@ny|}wVM%Lg z3tNB`yvr*}N?ClGL;H2cglcvErIccU3(eP7>@~4nOIcI~-`P8tSQnx=jI&{9)!1}l z;gQ%_h>ZlPSV@o@Azq1R$C6ja5!^ZGh;YRhhxs58qJWo9@Bceac&yy(pET1hnn`~7@}2L0&dfPKYs$ih7m2}R!25!(hxqA(!UIw; zK4+~Jowy3=RNC6nE=ncU{LH5?*9@W24lacJlvCZXB$CYtE@>c+~H zkV=(5I&gb{xn2!~f&fs2NQgAL6`p|kyt6kpWk}iVlqIp(H;ig`{_U9yxs1jzu^ETM z7~)Rg8C-NueqTYP&U8l{DY=Y47cR zOR@U%$KQV{mkRF|4)z9Y^t3K`@p>duY&QLUFeh6VoV`a`$U@)(z!-N*5Cj<11$EZW&hJLX83TO{lJYP74rlDZQPkm@t<=U^I)x@|UnHHkdQlh?!ltZwl92rE;;^ zZuIappj4dhld1}kttYYV-j|KF1Kus zWBnzttD^00%LFK(wrwNragFub6xiV8QE2rm<`&fcR4SLFcdtLxVuN!Aal-g6dE4%k zARZ}|xeo;K{0yf7@9aua%2j5o)CPcIOc6uLHFJOcgtB5owlcNAwyAHc0QB0Dts?c@ zUemG~j_E&W7R%+x-IO4FJl8e&*2Blmp1S#RA|)geVrxvP)NHdYuxi~g&Etn?QdNK8ZDKZ?QFLU?zh30G|t9G>a_X4zk}Ygw<^$7K!GIn(Io$>(d4ODJQ2XSd%jpK zm7>ptl$a3GyB}5-%p4>Q*p#VL^B{yQMuFCM^#l#+N!Ne z5_PrJWB=@Iy+t)H`g1lX`{bm($KE5I?0c(JEYm#t{F}j!xtsbob0{xu@0TB_*>G7w0ICn zr#VoBktqHZ~XxhiKD*lcG|b;H*|Ny3P^8ceV`sfBRfrhwZ!T+MFZ!F1Bt{q$8d9i6o?~ zODj^POr}&ivSa^R^YFIq7o0giLBKCycH_aU`F6)O6JX%nPTwh~Q`eq6*0iE#Srj2^ z*_hN3%*b83zfafy60@Cp3{J({RlSaEn&E?mrxRNC9GQ7#+f=s! z0KBf-9Ny_v2VbE%aB|Di)5kNJ^t&C`4D(>t7zYUWUFtbxt+Oq=!@O7BU)}>d*R72o zFF)3jQD_lLe4is&xzyJYC1-c{8TX$RU>&>P$%)ufpez0XSAukmh!xcekg`s$c<>-q zI#zn^JU0zzF}V60)o$_gY}PQH>b2M9&8fRZa#OauglPb zeQ@pMm&=!vNgos4CluQjLMV!pfkmxK+35bi^k&=k>9h02?l+u+m0agG;(h2|Jslc-llvtEwn~*w3bx7qnvZACG<8}AGeaDVvcHbKd2>3G^ zSFPULUn-?Pmo^-_`mLZr??uNH`2=I&yajlrF{DtUxMy#Nu}z=3y7qbUA;5`)hibMR zhXL@@uKyV0-2&A@t@!xyrBnMJl&^o@Gx$&5_q6?D=ji5grd-~=?dlg;ur(_V0wjh! zA=JV^C1m+DDkOsgr<%O9ZQFg!0}pD(#PSz4Dr_EyS5$`)VIAv);4n-SFP~YtC7sH= z7&*MfpH;gd*FHbkmD#)hVxb6xjc9~`t?_{=JS+@ip_cTicXxG<=7m9& zPX+Z8IC*GSAXuGCrZDHgR$r%jyk-fctis2Kx4HvZ|B~8uC@o)m^>Hy-O!&TKA?$&n zkP2Xc54w~!=z2?^NafyL*L0V9cbYrugHBBUj`xVyZmGFR&kvk#>1J*Z~i zNTz}?IAdJ$gkqd2!Gw(%LzE!O5s4C7q4%T~e_P{+z=DNDKrG**p=U`d5yg^vp`;Zn zsU=8gd0a9s4s0FPJePWR9eH5=+O^Kks&kC-iblNqTh2&Pw*^(4384f+D8N|fewZu_ zg2ejQ)ov;ztz;NQl7yj;A`(!H!XQu_$sqY9h_IrH*}_%1{L&_YLDvO?%R5Z-t+ClW z_qERbL?HKUZ!nt+!E9S`uoh^5A|DaIHe*_gf1`E_Vq+}{&T@t$EGhMnRjJ4z2w_W8 zp+qjs7as22^&S3wY1?+}^j-I=RcCE>#|39)g(lU7v_8;?=qK(9D8-*pPdiy)P3lIblG`+?%ea| zYoD3dopYt!tKgFicfNmNi(EWE=E4hC6(r|PYtanqJlmt57YOVrr2^tfrG(eG9C##X zu&1t@%L$RIvpj!wUA z8i>Pqot#_+Cnp6L2XPcZy1ar|9MnY+7eNvK1E)@Tr#2KsXq1*>)uUCozT7L##ok?o zhA6ofP4E|b*9tAfG?uf$#}>TIR&1A!yslP8}i7w-EzW(x#9VEvx18k%Tn=-$VV zkOtUr0b2!w3t>h?#8AZl^Az*(6KCGlD;4j~yx};`#2gN1_gv=%7KVzecIRakN{f*4 zeaI>yH;-o4OGhvGTU)(quWI)-q?V*(sVesSMv|wMUQ3hLEt=lBB$KZ9TyHr>)f7o%) zPYeU<3P)*P10*7vE)nA5#{c=6-E-_>r_u4e3i!I2+UksELwDqwMeBZ9FSP$;^Ajro z_@M#_Ss$?ejoB@!wN|kbGKs(0zLo%0QpQXW#t;oC$B0MZYZ&Ej?8~fNhcCVvPo3vo zFn0WWZaPliF^8_}yzb`*f@yg0uWv6HgNI)xa=pO%Ck(C<=-60l#uD3(wXP~c7!NoX z0&^6=N`zcc90F#qt@=Rn@r!3(*1v(Tl{B!m?Mc7yIA+nEHpY{YWr$=)F7rhR1P}(v zt{YhY#;jsW6G>#xhP*B`OCk|Pf+NN;ju1rxa*HAgoGq*rvqw&xe~;t1JA31$s?GBb z*g7&@cbKo4n<`>)!UlIAgR6q&))B0KYU8r66GbFj?8Guw4E%&}Qi_lT003LtoIZei zwD~=XZmeo+yZ2Pq3KYCF-R&11^p= z@H%s+=G`}wrbJ{()Mh71#2SP3Zy3m>l1n?0N-N1Q;z6?oSxr-G(H5m4EO>~&;}VKi zfY}3w+9z>vp#d)hVuu`)vG_aaH%3b=WKMnSu&c31;<3O;bz2iD=w+o4#oBb36 z5ZCF*Gu?zjZIR0S>_%pHY2$k8D^n7Sz_K8tCDeXM+dO<#LSg%h6`~dnVG1N@T7v&e z%wEd1!k{^zfz_1BTW{!$!B%g)J^2b87!9Y>>100X1SgT7s0z$o>^lAA=Gp_cC1(h=*5Tmf8z&LGJJ>$|K^~s`z9*OWz5MFUr?>Bi?_PGBB)#psD5?>n+q{o_ zz7~ez&;t#h8l$jwGPCC&xq2YetXYQT+0F3j(`xmNGf8dj#an|p#I*pvI*kwW4iuB> z+q3_7xB8y;pLzHG-S%+UHQA zvqp;$kmGJY>lLsN4C~&TcvAS1SErTcwcw0r@wngk zShAUA1M9b#g}^pL-zH7Q#z^&j#r9F8BTVfkR&qF<=e35goTu7c|GN)0mokj4m0%~0 zXJ8j4Hc_l;HJ&uU*Iw`8d_EscJ``s0tk9mkKo^&#TYXm-EoAzTQObxa@^u~g2t#T) zJz|rE!I_?i4dCJC=B8(_pZ{YR>|V?0iCcnU;E@$239^x?SYCfNaMHN;CtHIS_zHN9 zTkQc1v@O35okiFtq5_u+5FkY55ap@pi)O?}x0D1c*qB0KpYR}>Ul+B0Vmr}Z@+%mJ|As}sis_=ROPbov@*2thpE&?!V#Qgu$snYvCZ zrkhmkMU+fSf-s8(L37fPr&M*jRs{{THb!aXQu|P9l_-vJhHvLzMGH zE?1U0H_+PmNABp9`|KzkGfrrZ%XvdGo6*<{d5m9~L7 z_^`M;X6xDo=m6LY6RfvJEvsTK1!u8d2HPx|$S}p;sRy!I zWL55Yxu~_B`OP@~(q6&W3#)~I&+MGL%GWR$#udC151^wsswhqlii;rP9jJpiI7o&Z zAb})=HY7?4HA|re3ns`%$)FuvKCFWjhb~?IE)F6dF2K5}poj-NK6Gf;hw$t3=1txY zoxQxZWrQU6K!%|~!m?~Bnw-6Rr!F3BZ{u5!LqnZTDON}Coj9^@&le)V!NYrVwS~B% zEL+>Sr@}qGwGvu|HrOo|gSt__ezN^&%~{*)a=rf7y1HujUcr`zZB<4#l@T#eN)si} z)lZA<{=tKx8E%c9>A(##6}_p+~EZpKsl5a4pj`E*;_-6`ysiv zffA!7=MT1vCz}-m4~tjVey1b2KSR4OEtLd-(_DdUqYZ74LaDkhH?KFh?%WAOP2WbX zp@zT+Dx|5_f%JQiAGvVw!oh+g3e50u!aPfMxdC=E)XB{F5IcEZhePIM- zph6Y`$Oy?JBL<8Ex(SqEhLeQ@XcrdA>a?rx+_~HLA;l14)WmmpH}_w?Pg#HBZs0eS zwypwAW?M-x+3AU-(GGWSJ=ngxUEcEZ5OsX(Qlt!MQ zn^(`S{GHkAv(8@D`EAfSYig%Cxv?z!{=w^F#y)5_d7FuKZH7qlR-#5B0bt806%D0I zT7VdVP_?q*%Rq8UR;JkD4i^RXowt+E%#V2U>TfDqzZSDZ+dR!a#T3I>-z_$q9@k|m zy5~A*m~&JWP@E7a=pc}4kVHTc4h&R;Li7d@f`|hKMLkbb^uhOakNr3&FLjlm~i5NBM< zFaYI{;cpiHCNRdE0dg*>qIm(_t?#$h=(SCw?h3rJV2*ER8{O4^3#=dO)KwklZkoqU zS8i5c%YL*y*4;FY#D=XmkQnYj%LH)?02~gSJH`Qp1XY64g>%c_K$xseI&|e)7vRoL zAqRba$G@%fSGA7X7hQk%_3NVOYVS+$leU_!&6*5uN)8#5ZBz_6ASCA;azYS-Rt@ki zg2NWz(=;t}SC(~Ibl63$5C8FPmhXqb^)5#jaJ~I{Ex3xZ!+2h8$}}h_g@Be>HZ;72 z6#y#>AY3^skuVKF#0WxFBQ()5d5_nWb?c6c>EeMM|Mh+*&wEpPyxHCq{R-Gdr-`hN zF=1sxl&mBoK+#qRLl9#CEN|Fg8>nbmsTg3a1;#M9enQ$RgWk}kp#-5wh=EF&1tl%mJln2V^8o%Qv(*=zEuO7y z=m*8?xpUn-*@h5Cl_3BK3joiGkyaScK+>|MWdMRWm@RT!Q1piAlv5hL@B6>3&GI8) zP!xBc6}ZNIpJLL%2a8Y!+(<=f%WX>_uWVxlga9!D*oYt$l0cxRDMvqfU;Kq_mLK5k z)dvqYcgLa_Lz?3HyeF)@$%$&6lI?r4I>6W#M*<)vq{?&Oqrx``d`mhpVPr> z#q078F6gw_X<=?KR>8%^t%@wbITvNMu!hKiTSkCTJkw>1!e*Y{%31#_yMf=LW7{RJ zYoC^w$6%3cBtVG5)x#{Hg6IVTh9XEcM{gQwXk!R^y95^f-hZ`d{aVa+xW1EO4wDV4 zB?JgD7*?qkvc|$nIykTvNl2x0j3Q!MXoLL^)~}d7jcYf(H8D~c+?$pKL(px>Z3`eb z04RzS6_AgFT6Pn#iZAg$Sl_j8#;6ShF%&(Fag#E2asU@@LaN;=b=Wf7sgPKhfzhBM zC@eFL8^MrnA*9&Khe*Ab@CC9*uyJGXyi(;y2>lQLJZt;ShtJi?3Yf_t`F+$hY!+Q2Ndsx=U+bjTiAy7djLji>7k%k`$9&--f<*BNA3Hy&ZrHH|4 zG5H&9cB?O#zI1_OOf0Ce%mDfQxdtp3vU%(iY6yji3iISS61XLv#z|!zI_sZqza@B+ zyu9st5-h+`H7QUKx9}3w@oU@EO}&cEzG?fu!!bLO->%zkcg;i9^j`S~=WKMnDi1f= P00000NkvXXu0mjft=yBf literal 0 HcmV?d00001 diff --git a/sona-app/client/src/assets/react.svg b/sona-app/client/src/assets/react.svg new file mode 100644 index 000000000..6c87de9bb --- /dev/null +++ b/sona-app/client/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sona-app/client/src/assets/vite.svg b/sona-app/client/src/assets/vite.svg new file mode 100644 index 000000000..5101b674d --- /dev/null +++ b/sona-app/client/src/assets/vite.svg @@ -0,0 +1 @@ +Vite diff --git a/sona-app/client/src/components/ArtistCard.jsx b/sona-app/client/src/components/ArtistCard.jsx new file mode 100644 index 000000000..1ceb4f946 --- /dev/null +++ b/sona-app/client/src/components/ArtistCard.jsx @@ -0,0 +1,20 @@ +import { Link } from "react-router-dom"; + +export default function ArtistCard({ artist }) { + return ( +
+ + {artist.name} + + +
{artist.name}
+ {artist.genre && {artist.genre}} + +
+ +
+
+ ); +} diff --git a/sona-app/client/src/currentUser.js b/sona-app/client/src/currentUser.js new file mode 100644 index 000000000..675fd19f3 --- /dev/null +++ b/sona-app/client/src/currentUser.js @@ -0,0 +1,3 @@ +const currentUser = { id: 1 }; + +export default currentUser; diff --git a/sona-app/client/src/index.css b/sona-app/client/src/index.css new file mode 100644 index 000000000..c25368364 --- /dev/null +++ b/sona-app/client/src/index.css @@ -0,0 +1,141 @@ +:root { + --text: #444; + --text-h: #111; + --bg: #fff; + --border: #d9d9d9; + --bar: #2b2b2b; + --pill: #e9e9ec; + --muted: #f0f0f0; + + font: 16px/1.45 system-ui, "Segoe UI", Roboto, sans-serif; + color: var(--text); + background: var(--bg); + -webkit-font-smoothing: antialiased; +} + +* { box-sizing: border-box; } +body { margin: 0; } +h1, h2, h3 { color: var(--text-h); } +a { color: inherit; text-decoration: none; } + +/* Nav */ +.nav { + display: flex; + align-items: center; + justify-content: space-between; + background: var(--bar); + color: #fff; + padding: 14px 32px; +} +.nav .brand { font-size: 22px; font-weight: 700; letter-spacing: 0.5px; } +.nav-right { display: flex; align-items: center; gap: 24px; } +.cart { font-size: 20px; opacity: 0.7; cursor: default; } + +.container { max-width: 1180px; margin: 0 auto; padding: 24px 32px; } +h1 { font-size: 40px; margin: 8px 0 20px; } + +/* Directory filters */ +.filters { display: flex; gap: 16px; margin-bottom: 28px; } +.filters input, .filters select { + padding: 12px 14px; + border: 1px solid var(--border); + border-radius: 6px; + background: var(--bg); + color: var(--text-h); + font-size: 15px; +} +.filters input { flex: 1; } +.filters select { min-width: 200px; } + +/* Grid + card */ +.grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); + gap: 24px; +} +.card { border: 1px solid var(--border); border-radius: 6px; overflow: hidden; padding-bottom: 14px; } +.card-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--muted); } + +.name-bar { + display: inline-block; + background: var(--bar); + color: #fff; + font-size: 14px; + padding: 4px 12px; + margin: 14px 14px 8px; +} +.genre-tag { + display: inline-block; + background: var(--pill); + color: #333; + font-size: 12px; + padding: 3px 10px; + border-radius: 12px; + margin: 0 14px; +} + +.card-actions { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 10px; + margin: 14px 14px 0; +} + +/* Buttons */ +.btn, .btn-outline, .btn-danger, +.admin-controls button, .edit-form button { + padding: 8px 18px; + border-radius: 4px; + font-size: 14px; + cursor: pointer; + border: 1px solid var(--bar); +} +.btn { background: var(--bar); color: #fff; } +.btn-outline { background: transparent; color: var(--text-h); } +.btn-outline:disabled { opacity: 0.55; cursor: not-allowed; } +.btn-danger { background: transparent; color: #c0392b; border-color: #c0392b; } + +/* Detail page */ +.detail-hero { background: var(--muted); border-radius: 6px; padding: 24px; text-align: center; } +.detail-hero-img { max-height: 320px; max-width: 100%; object-fit: contain; border-radius: 6px; } + +.detail-titlebar { + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid var(--border); + padding: 16px 0; + margin-bottom: 24px; +} +.detail-titlebar h1 { margin: 0 0 6px; } + +.admin-controls { display: flex; gap: 10px; margin: 0 0 20px; } + +.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } +@media (max-width: 800px) { .detail-grid { grid-template-columns: 1fr; } } +.detail-about h2, .detail-side h2 { margin-top: 0; } + +.social-row { display: flex; gap: 12px; margin: 18px 0; } +.social { + width: 34px; height: 34px; + display: flex; align-items: center; justify-content: center; + background: var(--pill); border-radius: 50%; + font-size: 12px; font-weight: 600; color: #333; +} +.spotify-embed { + display: block; + background: var(--muted); + border-radius: 6px; + padding: 28px 16px; + color: var(--text); + font-size: 14px; +} +.detail-side { border: 1px solid var(--border); border-radius: 6px; padding: 20px; } + +.merch-strip { margin-top: 40px; background: var(--muted); border-radius: 6px; padding: 20px; } +.merch-head { display: flex; align-items: center; justify-content: space-between; } +.placeholder { color: #999; font-style: italic; } + +.edit-form { display: flex; flex-direction: column; gap: 10px; max-width: 460px; margin-bottom: 20px; } +.edit-form input, .edit-form textarea { padding: 10px; border: 1px solid var(--border); border-radius: 6px; font: inherit; } diff --git a/sona-app/client/src/main.jsx b/sona-app/client/src/main.jsx new file mode 100644 index 000000000..09007dcb8 --- /dev/null +++ b/sona-app/client/src/main.jsx @@ -0,0 +1,20 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import { BrowserRouter, Routes, Route } from "react-router-dom"; +import App from "./App.jsx"; +import Directory from "./pages/Directory.jsx"; +import ArtistDetail from "./pages/ArtistDetail.jsx"; +import "./index.css"; + +createRoot(document.getElementById("root")).render( + + + + }> + } /> + } /> + + + + , +); diff --git a/sona-app/client/src/pages/ArtistDetail.jsx b/sona-app/client/src/pages/ArtistDetail.jsx new file mode 100644 index 000000000..a000bc094 --- /dev/null +++ b/sona-app/client/src/pages/ArtistDetail.jsx @@ -0,0 +1,144 @@ +import { useEffect, useState } from "react"; +import { useParams, useNavigate } from "react-router-dom"; +import currentUser from "../currentUser.js"; +import { getArtist, getAdminOf, updateArtist, deleteArtist } from "../api.js"; + +function Social({ label, value }) { + if (!value) return null; + return {label}; +} + +const EDITABLE = [ + { key: "name", label: "Name" }, + { key: "genre", label: "Genre" }, + { key: "description", label: "Bio", textarea: true }, + { key: "instagram", label: "Instagram" }, + { key: "twitter", label: "Twitter" }, + { key: "facebook", label: "Facebook" }, + { key: "tiktok", label: "TikTok" }, + { key: "spotify", label: "Spotify URL" }, +]; + +export default function ArtistDetail() { + const { id } = useParams(); + const navigate = useNavigate(); + const [artist, setArtist] = useState(null); + const [isAdmin, setIsAdmin] = useState(false); + const [editing, setEditing] = useState(false); + const [form, setForm] = useState({}); + + useEffect(() => { + getArtist(id).then((data) => { + setArtist(data); + const seeded = {}; + for (const { key } of EDITABLE) seeded[key] = data[key] ?? ""; + setForm(seeded); + }); + getAdminOf(currentUser.id).then((administered) => { + setIsAdmin(administered?.id === Number(id)); + }); + }, [id]); + + if (!artist) return

Loading...

; + + async function handleSave(event) { + event.preventDefault(); + const updated = await updateArtist(id, { ...form, user_id: currentUser.id }); + setArtist((prev) => ({ ...prev, ...updated, ...form })); + setEditing(false); + } + + async function handleDelete() { + if (!confirm(`Delete ${artist.name}?`)) return; + await deleteArtist(id, currentUser.id); + navigate("/"); + } + + return ( +
+
+ {artist.name} +
+ +
+
+

{artist.name}

+ {artist.genre && {artist.genre}} +
+ + {isAdmin && !editing && ( +
+ + +
+ )} +
+ + {isAdmin && editing && ( +
+ {EDITABLE.map(({ key, label, textarea }) => + textarea ? ( + + +
+ + ) +} \ No newline at end of file diff --git a/sona-app/client/src/pages/PostEditForm.jsx b/sona-app/client/src/pages/PostEditForm.jsx new file mode 100644 index 000000000..fd4e4bee8 --- /dev/null +++ b/sona-app/client/src/pages/PostEditForm.jsx @@ -0,0 +1,48 @@ +import { useState, useEffect } from 'react' +import { getPost, updatePost } from '../api.js' +import { useParams } from 'react-router-dom'; +import currentUser from "../currentUser.js"; + +export default function PostEditForm() { + const {id} = useParams() + const [post, setPost] = useState({id: 0, name: '', artist_id: 0, content: '', posted_on: null}) + + useEffect(() => { + getPost(id).then(setPost); + }, [id]); + + const handleChange = (event) => { + const {name, value} = event.target + setPost( (prev) => { + return { + ...prev, + [name]:value, + } + }) + } + + const handleSubmit = (event) => { + event.preventDefault() + updatePost(id, currentUser.id, post.artist_id, post.content) + window.location.href = `/artists/${post.artist_id}` + } + + return ( +
+
+

{post.name}

+
+

Edit Post

+
+ + +
+
+ ) +} \ No newline at end of file diff --git a/sona-app/server/routes/artists.js b/sona-app/server/routes/artists.js index ac92e559f..e2f483aba 100644 --- a/sona-app/server/routes/artists.js +++ b/sona-app/server/routes/artists.js @@ -195,4 +195,29 @@ router.get("/:id/posts", async (req, res) => { } }) +router.post('/:id/posts', async (req, res) => { + const {user_id, artist_id, content} = req.body; + + if (!artist_id || !content) { + return res.status(400).json({error: 'artist_id and content is required'}) + } + + if (!(await isAdminOf(user_id, artist_id))) { + return res.status(403).json({ error: "Not authorized to create a post this artist" }); + } + + try { + const result = await pool.query( + `INSERT INTO posts (artist_id, content) + VALUES ($1, $2) + RETURNING *`, + [artist_id, content] + ) + res.status(201).json(result.rows[0]) + console.log("new post submitted") + } catch (err) { + res.status(500).json({error: "Failed to upload post"}) + } +}) + export default router; diff --git a/sona-app/server/routes/posts.js b/sona-app/server/routes/posts.js index 66b9f69eb..337cbcac2 100644 --- a/sona-app/server/routes/posts.js +++ b/sona-app/server/routes/posts.js @@ -10,7 +10,8 @@ router.get('/:id', async (req, res) => { try { const result = await pool.query( `SELECT posts.id, - artists.name, + artists.name AS artist_name, + posts.artist_id, posts.content, posts.created_at AS posted_on FROM artists @@ -26,30 +27,6 @@ router.get('/:id', async (req, res) => { } }) -router.post('/', async (req, res) => { - const {user_id, artist_id, content} = req.body; - - if (!artist_id || !content) { - return res.status(400).json({error: 'artist_id and content is required'}) - } - - if (!(await isAdminOf(user_id, artist_id))) { - return res.status(403).json({ error: "Not authorized to create a post this artist" }); - } - - try { - const result = await pool.query( - `INSERT INTO posts (artist_id, content) - VALUES ($1, $2) - RETURNING *`, - [artist_id, content] - ) - res.status(201).json(result.rows[0]) - } catch (err) { - res.status(500).json({error: "Failed to upload post"}) - } -}) - router.patch('/:id', async (req, res) => { const {id} = req.params const {user_id, artist_id, content} = req.body; From 1735e98efee2d6c27b3778f75582d3a469752c6d Mon Sep 17 00:00:00 2001 From: Carolina Herrera Date: Mon, 20 Jul 2026 00:43:31 -0400 Subject: [PATCH 21/31] fix post header styling and add toast for new post published --- sona-app/client/src/index.css | 6 +++++ sona-app/client/src/pages/ArtistDetail.jsx | 27 +++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/sona-app/client/src/index.css b/sona-app/client/src/index.css index 373b81eb5..46c209cdc 100644 --- a/sona-app/client/src/index.css +++ b/sona-app/client/src/index.css @@ -170,4 +170,10 @@ h1 { font-size: 40px; margin: 8px 0 20px; } .post-date { font-size: 0.75rem; margin: 0; +} + +.posts-titlebar { + display: flex; + justify-content: space-between; + align-items: center; } \ No newline at end of file diff --git a/sona-app/client/src/pages/ArtistDetail.jsx b/sona-app/client/src/pages/ArtistDetail.jsx index 625b78c67..7ef702b2a 100644 --- a/sona-app/client/src/pages/ArtistDetail.jsx +++ b/sona-app/client/src/pages/ArtistDetail.jsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { useParams, useNavigate } from "react-router-dom"; +import { useParams, useNavigate, useSearchParams } from "react-router-dom"; import { Link } from "react-router-dom"; import currentUser from "../currentUser.js"; import { getArtist, getAdminOf, getFollowing, updateArtist, deleteArtist, getPostsByArtist } from "../api.js"; @@ -32,6 +32,10 @@ export default function ArtistDetail() { const [editing, setEditing] = useState(false); const [form, setForm] = useState({}); const [posts, setPosts] = useState({}) + const [searchParams, setSearchParams] = useSearchParams(); + const [toast, setToast] = useState("") + + let new_post = (searchParams.get('new_post') === "true") useEffect(() => { getArtist(id).then((data) => { @@ -53,7 +57,16 @@ export default function ArtistDetail() { useEffect(() => { getPostsByArtist(id).then(setPosts); }, [id]); -console.log(posts) + + useEffect(() => { + if (new_post) { + showToast("Post published"); + const params = new URLSearchParams(searchParams); + params.delete("new_post"); + setSearchParams(params, { replace: true }); + } + }, [new_post, searchParams, setSearchParams]); + if (!artist || following === null) return

Loading...

; async function handleSave(event) { @@ -69,6 +82,11 @@ console.log(posts) navigate("/"); } + function showToast(message) { + setToast(message); + setTimeout(() => setToast(""), 2000); + } + return (
@@ -152,7 +170,7 @@ console.log(posts)

Posts

- Create + Create
{posts.map((post) => ( @@ -168,6 +186,9 @@ console.log(posts)

Merch cards β€” coming soon (Issue 6)

+ + {toast && {toast}} +
); } From 411b10039969694a1c7cca1fdb43af0091f784df Mon Sep 17 00:00:00 2001 From: arminerika Date: Sun, 19 Jul 2026 23:58:01 -0700 Subject: [PATCH 22/31] milestone 3 submission --- README.md | 43 +++++++++++++------- milestones/milestone3.md | 45 ++++++++++----------- milestones/progress_report_3.md | 69 +++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+), 35 deletions(-) create mode 100644 milestones/progress_report_3.md diff --git a/README.md b/README.md index fd8539dd2..202a69c3d 100644 --- a/README.md +++ b/README.md @@ -23,27 +23,38 @@ Music fans often have to juggle multiple platforms to keep up with an artist. Fr ### Inspiration -This project builds on ideas from several of our previous coursework projects. Multiple members of our group have worked on music-themed projects earlier in the course that explored artist/music reference content, vinyl and merch customization, and community-oriented spaces. **Sona** brings these ideas together into a single hub where fans can follow artists, engage with a community built around music, and shop artist merch. Furthermore, we take inspiration from existing platforms, such as Ticketmaster and Bandcamp, to build from. +This project builds on ideas from several of our previous coursework projects. Multiple members of our group have worked on music-themed projects earlier in the course that explored artist/music reference content, vinyl and merch customization, and community-oriented spaces. **Sona** brings these ideas together into a single hub where fans can follow artists, engage with a community built around music, and shop artist merch. Furthermore, we take inspiration from existing platforms, such as Ticketmaster and Bandcamp, to build from. ## Tech Stack -Frontend: React (Vite), React Router - -Backend: Express, Node.js, PostgreSQL +- Frontend: React (Vite), React Router +- Backend: Express, Node.js, PostgreSQL ## Features -### Artist Directory +### βœ… Artist Directory -- Browse all artists with genre, bio, and profile image; click into a full artist page. +- Browse all artists with genre, bio, and profile image. -- [gif goes here] +- ![Artist Directory](https://i.imgur.com/aYOxXjl.gif) -### Follow Artists +### βœ… Follow Artists -- Users can follow/unfollow artists to build a personalized list of who they're keeping up with. +- Users can follow/unfollow artists to build a personalized list of who they're keeping up with, with an optional "notify me on release" toggle. -- [gif goes here] +- ![Follow Artists](https://i.imgur.com/foZSTEV.gif) + +### βœ… Artist Posts + +Artist Admins can post updates like new merch drops, show announcements, news, etc that will be visible to their followers. + +- ![Artist Posts](https://i.imgur.com/Vj749I2.gif) + +### βœ… Artist Quick-View Panel + +- Slide-out modal showing artist details and discography without navigating away from the current page. + +- ![Artist Quick-View Panel](https://i.imgur.com/8dW0ZTp.gif) ### Merch Shop with Filtering @@ -63,11 +74,11 @@ Backend: Express, Node.js, PostgreSQL - [gif goes here] -### Artist Quick-View Panel +### Following Feed -- Slide-out modal showing artist details and discography without navigating away from the current page. +- A personalized feed combining posts, upcoming shows, and merch drops from every artist a fan follows. -[gif goes here] +- [gif goes here] ### (Stretch) Spotify Connect @@ -75,6 +86,12 @@ Backend: Express, Node.js, PostgreSQL - [gif goes here] +### (Stretch) Sona Mix + +- Auto-generate a custom playlist from the artists you follow, featured right on your profile. + +- [gif goes here] + ### (Stretch) Real Payment Integration - Real checkout system built on top of the existing order system. diff --git a/milestones/milestone3.md b/milestones/milestone3.md index b45ad8561..8fc7692eb 100644 --- a/milestones/milestone3.md +++ b/milestones/milestone3.md @@ -8,44 +8,45 @@ This unit, be sure to complete all tasks listed below. To complete a task, place You will need to reference the GitHub Project Management guide in the course portal for more information about how to complete each of these steps. -- [ ] In your repo, create a project board. - - *Please be sure to share your project board with the grading team's GitHub **codepathreview**. This is separate from your repository's sharing settings.* -- [ ] In your repo, create at least 5 issues from the features on your feature list. +- [x] In your repo, create a project board. + - _Please be sure to share your project board with the grading team's GitHub **codepathreview**. This is separate from your repository's sharing settings._ +- [x] In your repo, create at least 5 issues from the features on your feature list. - List the title of each issue you created: - 1. - 2. - 3. - 4. - 5. -- [ ] In your repo, update the status of issues in your project board. -- [ ] In your repo, create a GitHub Milestone for each final project unit, corresponding to each of the 5 milestones in your `milestones/` directory. + > 1. Set up Express + PostgreSQL project structure & schema + > 2. Artist CRUD + Directory + Detail Page + > 3. Follow / Unfollow + > 4. Artist Posts + > 5. Quick View Slide-Out Panel +- [x] In your repo, update the status of issues in your project board. +- [x] In your repo, create a GitHub Milestone for each final project unit, corresponding to each of the 5 milestones in your `milestones/` directory. - List the name of each milestone you created: - 1. - 2. - 3. - - [ ] Set the completion percentage of each milestone. The GitHub Milestone for this unit (Milestone 3 - Unit 7) should be 100% completed when you submit for full points. -- [ ] In `readme.md`, check off the features you have completed in this unit by adding a βœ… emoji in front of the feature's name. - - [ ] Under each feature you have completed, include a GIF showing feature functionality. -- [ ] In this documents, complete all five questions in the **Reflection** section below. + > 1. Milestone 3 + > 2. Milestone 4 + > 3. Milestone 5 + > 4. Stretch Goals + - [x] Set the completion percentage of each milestone. The GitHub Milestone for this unit (Milestone 3 - Unit 7) should be 100% completed when you submit for full points. +- [x] In `readme.md`, check off the features you have completed in this unit by adding a βœ… emoji in front of the feature's name. + - [x] Under each feature you have completed, include a GIF showing feature functionality. +- [x] In this documents, complete all five questions in the **Reflection** section below. ## Reflection ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +> Learned alot about project management and organization for coding projects and had a succesful first sprint. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +> Coordinating around issue dependencies took some time to get right with planning and thinking ahead. ### Did you finish all of your tasks in your sprint plan for this week? If you did not finish all of the planned tasks, how would you prioritize the remaining tasks on your list? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +> Yes. We set up our GitHub Project board, issues, and milestones, and got real backend/database work started, including both of our required one-to-one relationships and our full-CRUD entity. ### Which features and user stories would you consider β€œat risk”? How will you change your plan if those items remain β€œat risk”? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +> Nothing is currently at risk, everything planned for this unit was finished. Going forward, the next sprints will have more complicated features so hoping the best for that. ### 5. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +> Guidance on authentication once we reach that unit β€” several features (Artist Admin permissions, a real "who's logged in" concept) are currently using temporary placeholders until real login is covered in class. diff --git a/milestones/progress_report_3.md b/milestones/progress_report_3.md new file mode 100644 index 000000000..e302db14e --- /dev/null +++ b/milestones/progress_report_3.md @@ -0,0 +1,69 @@ +# Milestone 3 Progress Report + +## GitHub Project Setup + +Project board created: + +> YES + +Project board shared with codepathreview: + +> YES + +## Issues Created + +List the title of each issue you created, one per line: + +> - Issue 0: Local Dev Environment Setup +> - Issue 1: Set up Express + PostgreSQL project structure & schema +> - Issue 2: Artist CRUD + Directory + Detail Page +> - Issue 3: Follow / Unfollow +> - Issue 4: Artist Posts +> - Issue 5: Quick View Slide-Out Panel + +## GitHub Milestones Created + +List the name of each GitHub Milestone you created, one per line: + +> - Milestone 3 +> - Milestone 4 +> - Milestone 5 +> - Stretch Goals + +## Milestone 3 Completion + +Replace the blank before the percent sign with a number from 0 to 100. + +> Completion percentage for Milestone 3: 100% + +List each issue you completed this unit and the main file or folder where that work lives, one per line: + +- Example: User login - server/routes/auth.js + +> - Project Setup + Schema +> - server/config/ +> - Artist CRUD + Directory + Detail Page +> - server/routes/artists.js +> - client/src/pages/Directory.jsx +> - client/src/pages/ArtistDetail.jsx +> - Follow / Unfollow +> - server/routes/follows.jsx +> - client/src/components/FollowButton.jsx +> - Artist Posts +> - server/routes/posts.js +> - client/src/pages/PostCreateForm.jsx +> - client/src/pages/PostEditForm.jsx +> - client/src/components/ArtistPost.jsx +> - Quick View Slide-Out Panel +> - client/src/components/QuickViewPanel.jsx + +## Features Completed This Unit + +List each feature you completed and checked off in readme.md this unit, one per line: + +- Example: Search events by category + +> - Artist Directory (browse, search, genre filter) +> - Follow / Unfollow artists +> - Artist Posts +> - Quick View Slide-Out Panel From ba3bbd91836fb7acdecf3562f17e325091a8efc3 Mon Sep 17 00:00:00 2001 From: arminerika Date: Sun, 19 Jul 2026 23:58:49 -0700 Subject: [PATCH 23/31] milestone 3 submission readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 202a69c3d..1317a557d 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ This project builds on ideas from several of our previous coursework projects. M ### βœ… Artist Directory -- Browse all artists with genre, bio, and profile image. +- Browse all artists with genre, bio, and profile image. Search bar w/ Filter by genre. - ![Artist Directory](https://i.imgur.com/aYOxXjl.gif) From 6d6fa8d07a9f4488f23950301f7ad313ee705749 Mon Sep 17 00:00:00 2001 From: pinsoegustave Date: Mon, 20 Jul 2026 12:17:44 -0400 Subject: [PATCH 24/31] solved merch table errors --- sona-app/server/.env.example | 6 ---- sona-app/server/routes/artists.js | 38 +++++++++++++++++++++ sona-app/server/routes/merch.js | 57 ++++++------------------------- sona-app/server/server.js | 2 +- 4 files changed, 50 insertions(+), 53 deletions(-) delete mode 100644 sona-app/server/.env.example diff --git a/sona-app/server/.env.example b/sona-app/server/.env.example deleted file mode 100644 index f8cc56ca3..000000000 --- a/sona-app/server/.env.example +++ /dev/null @@ -1,6 +0,0 @@ -PGUSER=sona_app_user -PGHOST=dpg-d9crvspkh4rs73daes20-a.oregon-postgres.render.com -PGDATABASE=sona_app -PGPASSWORD=BHEd6EtKo3ZTViewSDcb2Ndmw1OdxHRO -PGPORT=5432 -PORT=3001 \ No newline at end of file diff --git a/sona-app/server/routes/artists.js b/sona-app/server/routes/artists.js index 1c4e0a449..d71a46c71 100644 --- a/sona-app/server/routes/artists.js +++ b/sona-app/server/routes/artists.js @@ -39,6 +39,44 @@ router.get("/", async (req, res) => { } }); +// GET /api/artists/:id/merch +router.get('/:id/merch', async (req, res) => { + try { + const { rows } = await pool.query( + 'SELECT * FROM merch WHERE artist_id = $1 ORDER BY created_at DESC', + [req.params.id] + ); + res.json(rows); + } catch (err) { + console.error(err); + res.status(500).json({ error: 'Failed to fetch artist merch' }); + } +}); + +// POST /api/artists/:id/merch +router.post('/:id/merch', async (req, res) => { + try { + const artistId = req.params.id; + const authorized = await isAdminOf(req.user.id, artistId); + if (!authorized) return res.status(403).json({ error: 'Not authorized' }); + + const { name, type, price, photo, stock } = req.body; + if (!name || !type || price === undefined) { + return res.status(400).json({ error: 'name, type, and price are required' }); + } + + const { rows } = await pool.query( + `INSERT INTO merch (artist_id, name, type, price, photo, stock) + VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, + [artistId, name, type, price, photo, stock ?? 0] + ); + res.status(201).json(rows[0]); + } catch (err) { + console.error(err); + res.status(500).json({ error: 'Failed to create merch' }); + } +}); + router.get("/:id", async (req, res) => { const { id } = req.params; try { diff --git a/sona-app/server/routes/merch.js b/sona-app/server/routes/merch.js index 3b0128d2c..663ea7e88 100644 --- a/sona-app/server/routes/merch.js +++ b/sona-app/server/routes/merch.js @@ -1,19 +1,18 @@ import { Router } from 'express'; -import pool from '../db.js'; // adjust to your actual pool export path +import pool from '../config/database.js'; const router = Router(); -// helper: confirm req.user is the admin for a given artist -async function isArtistAdmin(userId, artistId) { - const { rows } = await pool.query( - 'SELECT id FROM admin WHERE user_id = $1 AND artist_id = $2', - [userId, artistId] +async function isAdminOf(userId, artistId) { + const result = await pool.query( + `SELECT 1 FROM admin WHERE user_id = $1 AND artist_id = $2`, + [userId, artistId], ); - return rows.length > 0; + return result.rows.length > 0; } // GET /api/merch?artist_id=&type=&sort= -router.get('/merch', async (req, res) => { +router.get('/', async (req, res) => { try { const { artist_id, type, sort } = req.query; const conditions = []; @@ -47,42 +46,8 @@ router.get('/merch', async (req, res) => { } }); -// GET /api/artists/:id/merch -router.get('/artists/:id/merch', async (req, res) => { - try { - const { rows } = await pool.query( - 'SELECT * FROM merch WHERE artist_id = $1 ORDER BY created_at DESC', - [req.params.id] - ); - res.json(rows); - } catch (err) { - console.error(err); - res.status(500).json({ error: 'Failed to fetch artist merch' }); - } -}); - -// POST /api/artists/:id/merch -router.post('/artists/:id/merch', async (req, res) => { - try { - const artistId = req.params.id; - const authorized = await isArtistAdmin(req.user.id, artistId); - if (!authorized) return res.status(403).json({ error: 'Not authorized' }); - - const { name, type, price, photo, stock } = req.body; - const { rows } = await pool.query( - `INSERT INTO merch (artist_id, name, type, price, photo, stock) - VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, - [artistId, name, type, price, photo, stock ?? 0] - ); - res.status(201).json(rows[0]); - } catch (err) { - console.error(err); - res.status(500).json({ error: 'Failed to create merch' }); - } -}); - // PATCH /api/merch/:id -router.patch('/merch/:id', async (req, res) => { +router.patch('/:id', async (req, res) => { try { const { rows: existing } = await pool.query( 'SELECT artist_id FROM merch WHERE id = $1', @@ -90,7 +55,7 @@ router.patch('/merch/:id', async (req, res) => { ); if (!existing.length) return res.status(404).json({ error: 'Merch not found' }); - const authorized = await isArtistAdmin(req.user.id, existing[0].artist_id); + const authorized = await isAdminOf(req.user.id, existing[0].artist_id); if (!authorized) return res.status(403).json({ error: 'Not authorized' }); const { name, type, price, photo, stock } = req.body; @@ -112,7 +77,7 @@ router.patch('/merch/:id', async (req, res) => { }); // DELETE /api/merch/:id -router.delete('/merch/:id', async (req, res) => { +router.delete('/:id', async (req, res) => { try { const { rows: existing } = await pool.query( 'SELECT artist_id FROM merch WHERE id = $1', @@ -120,7 +85,7 @@ router.delete('/merch/:id', async (req, res) => { ); if (!existing.length) return res.status(404).json({ error: 'Merch not found' }); - const authorized = await isArtistAdmin(req.user.id, existing[0].artist_id); + const authorized = await isAdminOf(req.user.id, existing[0].artist_id); if (!authorized) return res.status(403).json({ error: 'Not authorized' }); await pool.query('DELETE FROM merch WHERE id = $1', [req.params.id]); diff --git a/sona-app/server/server.js b/sona-app/server/server.js index 5797683d2..331c3160f 100644 --- a/sona-app/server/server.js +++ b/sona-app/server/server.js @@ -14,7 +14,7 @@ app.use(express.json()); app.get("/api/health", (req, res) => res.json({ status: "ok" })); app.use("/api/artists", artistsRouter); app.use("/api/users", usersRouter); -app.use("api/merch", merchRouter); +app.use("/api/merch", merchRouter); app.listen(PORT, () => { console.log(`Sona server running on http://localhost:${PORT}`); From 880be3eea5d484468d04c2a630a2e0553c00a3eb Mon Sep 17 00:00:00 2001 From: arminerika Date: Thu, 23 Jul 2026 20:22:03 -0700 Subject: [PATCH 25/31] Fix: add CASCADE to reset.js drop statements to handle dependent tables --- sona-app/server/config/reset.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sona-app/server/config/reset.js b/sona-app/server/config/reset.js index 1d5743ae0..b14f3a580 100644 --- a/sona-app/server/config/reset.js +++ b/sona-app/server/config/reset.js @@ -1,12 +1,12 @@ import pool from "./database.js"; const dropTables = ` - DROP TABLE IF EXISTS posts; - DROP TABLE IF EXISTS follows; - DROP TABLE IF EXISTS admin; - DROP TABLE IF EXISTS profile; - DROP TABLE IF EXISTS artists; - DROP TABLE IF EXISTS users; + DROP TABLE IF EXISTS posts CASCADE; + DROP TABLE IF EXISTS follows CASCADE; + DROP TABLE IF EXISTS admin CASCADE; + DROP TABLE IF EXISTS profile CASCADE; + DROP TABLE IF EXISTS artists CASCADE; + DROP TABLE IF EXISTS users CASCADE; `; const createTables = ` From 76e428ffc1970936aeb00f1ec68a4eb5d6b227d8 Mon Sep 17 00:00:00 2001 From: arminerika Date: Thu, 23 Jul 2026 23:44:38 -0700 Subject: [PATCH 26/31] clean up leftover vite boilerplate + add sona branding --- sona-app/{client => }/.gitignore | 3 + sona-app/client/README.md | 16 - sona-app/client/index.html | 16 +- sona-app/client/package.json | 2 +- sona-app/client/public/favicon-16x16.png | Bin 0 -> 838 bytes sona-app/client/public/favicon-180x180.png | Bin 0 -> 26120 bytes sona-app/client/public/favicon-192x192.png | Bin 0 -> 31225 bytes sona-app/client/public/favicon-32x32.png | Bin 0 -> 2177 bytes sona-app/client/public/favicon-48x48.png | Bin 0 -> 4220 bytes sona-app/client/public/favicon-512x512.png | Bin 0 -> 113129 bytes sona-app/client/public/favicon.ico | Bin 0 -> 835 bytes sona-app/client/public/favicon.svg | 50 +++- sona-app/client/public/icons.svg | 24 -- sona-app/client/src/App.css | 184 ------------ sona-app/client/src/App.jsx | 5 +- sona-app/client/src/assets/hero.png | Bin 13057 -> 0 bytes sona-app/client/src/assets/react.svg | 1 - .../client/src/assets/sona-logo-tagline.png | Bin 0 -> 113629 bytes .../client/src/assets/sona-logo-tagline.svg | 45 +++ sona-app/client/src/assets/vite.svg | 1 - sona-app/client/src/index.css | 278 ++++++++++++++---- sona-app/server/.gitignore | 2 - 22 files changed, 343 insertions(+), 284 deletions(-) rename sona-app/{client => }/.gitignore (93%) delete mode 100644 sona-app/client/README.md create mode 100644 sona-app/client/public/favicon-16x16.png create mode 100644 sona-app/client/public/favicon-180x180.png create mode 100644 sona-app/client/public/favicon-192x192.png create mode 100644 sona-app/client/public/favicon-32x32.png create mode 100644 sona-app/client/public/favicon-48x48.png create mode 100644 sona-app/client/public/favicon-512x512.png create mode 100644 sona-app/client/public/favicon.ico delete mode 100644 sona-app/client/public/icons.svg delete mode 100644 sona-app/client/src/App.css delete mode 100644 sona-app/client/src/assets/hero.png delete mode 100644 sona-app/client/src/assets/react.svg create mode 100644 sona-app/client/src/assets/sona-logo-tagline.png create mode 100644 sona-app/client/src/assets/sona-logo-tagline.svg delete mode 100644 sona-app/client/src/assets/vite.svg delete mode 100644 sona-app/server/.gitignore diff --git a/sona-app/client/.gitignore b/sona-app/.gitignore similarity index 93% rename from sona-app/client/.gitignore rename to sona-app/.gitignore index a547bf36d..91ffe1b28 100644 --- a/sona-app/client/.gitignore +++ b/sona-app/.gitignore @@ -22,3 +22,6 @@ dist-ssr *.njsproj *.sln *.sw? + +# Credentials +.env \ No newline at end of file diff --git a/sona-app/client/README.md b/sona-app/client/README.md deleted file mode 100644 index d937833bd..000000000 --- a/sona-app/client/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# React + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) - -## React Compiler - -The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). - -## Expanding the Oxlint configuration - -If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and Oxlint's TypeScript related rules in your project. diff --git a/sona-app/client/index.html b/sona-app/client/index.html index 6e56e6e40..a9e01e819 100644 --- a/sona-app/client/index.html +++ b/sona-app/client/index.html @@ -2,9 +2,23 @@ + + + + - client + Sona
diff --git a/sona-app/client/package.json b/sona-app/client/package.json index feeb18765..555ec8c9c 100644 --- a/sona-app/client/package.json +++ b/sona-app/client/package.json @@ -1,5 +1,5 @@ { - "name": "client", + "name": "sona-client", "private": true, "version": "0.0.0", "type": "module", diff --git a/sona-app/client/public/favicon-16x16.png b/sona-app/client/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..81ad1921fcab59bf5aef9e3ea67925529d2aa2a6 GIT binary patch literal 838 zcmV-M1G)T(P)t__kfA2qkgrr8)q8O?;RB#YKf>a$W6{|}Y7qP-E zRH%iP3#C;M2M0xTYh4tit@IYIn~Ost2nBmXiAXRY4npoCCPF@}7_}kE`@W|`jkNbn zXE^8KdCqel#XFVD<@!bBCGfF`d~kDfgHq~BM1D8MY$=p{)#3O1X=-Ysxw#pS$MfufF{WOn)9FXRr4j6fhj)gi6*qe`dK57yfElu}r0DV0j3(`jO{7$+wuoS&alEEWOq z`FyOeuhZ7nhA{@M^@F;)x_S$I_@oP^6s1xLuh)xGihMp#EEZ#PbCbKfJI2SynVp>l zKx_Th(OSQ;)&dZTL|9o_ArgsDEEXx1N>nNpy1Tmx27>_P^La$1`VU8Lp-}j#zP|no z5pj~qB!`EGM59r(*7WxFQYaL-yu2hHj|0%!+KPxEBKG0o;b#SSlF8&N*L6R?zrSa0 zZjOtKi+3XeKu1Rhi;IhRyoi z;qdnx8ykQ9FO5&V_vq-Tzon&R##;Lc5O@N(HpaZk=kvc#O--Ewe^;0O0gnfzVAL+h Q-v9sr07*qoM6N<$f{lWV%K!iX literal 0 HcmV?d00001 diff --git a/sona-app/client/public/favicon-180x180.png b/sona-app/client/public/favicon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..323e701822f931ab5bdb5489a81311d44428ffb7 GIT binary patch literal 26120 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 literal 0 HcmV?d00001 diff --git a/sona-app/client/public/favicon-192x192.png b/sona-app/client/public/favicon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd406fd39cf35209246561a88cb5ecba6799716 GIT binary patch literal 31225 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 DzmOEZ literal 0 HcmV?d00001 diff --git a/sona-app/client/public/favicon-48x48.png b/sona-app/client/public/favicon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..adaf0e0bc00c82b30002b2b869a5abd27a066cf7 GIT binary patch literal 4220 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 literal 0 HcmV?d00001 diff --git a/sona-app/client/public/favicon-512x512.png b/sona-app/client/public/favicon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..ff801115e792c8f2c9c9263b13c68fd837138855 GIT binary patch literal 113129 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�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 literal 0 HcmV?d00001 diff --git a/sona-app/client/public/favicon.ico b/sona-app/client/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..947f57d7992a21179d2351524895547207ee5d4f GIT binary patch literal 835 zcmV-J1HAkI0096201yxW0000W04)Om02TlM0EtjeM-2)Z3IG5A4M|8uQUCw|5C8xG z5C{eU001BJ|6u?C0`y5lK~#90U6V^lqh}a}pYQWWNUC`0#!xSd3NAEika_{jh}BIt zf`}ESP@xuD2Bg)E3m1y$vThWlt#k_G&TS$H1v{ZcBq)drA+r(l3%OV^nu&k>E?v|} zJMZc&-g7wbc{zd)CY#OnSZiMapId7`xxT(e2ytnx{X=WL6$}PX|GO{Bz*_6eWHQ@Q z$}g?862KTkKA%TxjWGtLlm=eAuKOw+4tvi6)>>aSoBdM=@fkoOk>K#~kW?x~p->T^%E}7;{r%kB+_1N|$M*I%0IRF3w70iojM3KG z9>-eyJs_>Mq*5sWDl01)92~^&_alU0Y;26Wx;pCX>uG6e!5D+Jw!#?mol{X!@xoe* zF^1;mW~7unJUlQvJIna^I2|1w)YQ~4Fff3WvP|YFWY1cO0Bp%4JMT#j;P#+U;qpU?kXTU-0JwN@sR zN%r^miN#_lrReJFBA?H5adAN+kpQ5vu@P%6)>?CafB%aBDw4_MYsYcEy1Tn$Zf=hA z^YafY0zhkPD+>z?_>G)09dj zs;jGMYipysyBo)GP)fyPvDgoQE|*CxEiHXKH8u5<<2WykG4kog=bN8iYD%Tjn@A+` z \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S + \ No newline at end of file diff --git a/sona-app/client/public/icons.svg b/sona-app/client/public/icons.svg deleted file mode 100644 index e9522193d..000000000 --- a/sona-app/client/public/icons.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sona-app/client/src/App.css b/sona-app/client/src/App.css deleted file mode 100644 index 6254d621c..000000000 --- a/sona-app/client/src/App.css +++ /dev/null @@ -1,184 +0,0 @@ -.counter { - font-size: 16px; - padding: 5px 10px; - border-radius: 5px; - color: var(--accent); - background: var(--accent-bg); - border: 2px solid transparent; - transition: border-color 0.3s; - margin-bottom: 24px; - - &:hover { - border-color: var(--accent-border); - } - &:focus-visible { - outline: 2px solid var(--accent); - outline-offset: 2px; - } -} - -.hero { - position: relative; - - .base, - .framework, - .vite { - inset-inline: 0; - margin: 0 auto; - } - - .base { - width: 170px; - position: relative; - z-index: 0; - } - - .framework, - .vite { - position: absolute; - } - - .framework { - z-index: 1; - top: 34px; - height: 28px; - transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) - scale(1.4); - } - - .vite { - z-index: 0; - top: 107px; - height: 26px; - width: auto; - transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) - scale(0.8); - } -} - -#center { - display: flex; - flex-direction: column; - gap: 25px; - place-content: center; - place-items: center; - flex-grow: 1; - - @media (max-width: 1024px) { - padding: 32px 20px 24px; - gap: 18px; - } -} - -#next-steps { - display: flex; - border-top: 1px solid var(--border); - text-align: left; - - & > div { - flex: 1 1 0; - padding: 32px; - @media (max-width: 1024px) { - padding: 24px 20px; - } - } - - .icon { - margin-bottom: 16px; - width: 22px; - height: 22px; - } - - @media (max-width: 1024px) { - flex-direction: column; - text-align: center; - } -} - -#docs { - border-right: 1px solid var(--border); - - @media (max-width: 1024px) { - border-right: none; - border-bottom: 1px solid var(--border); - } -} - -#next-steps ul { - list-style: none; - padding: 0; - display: flex; - gap: 8px; - margin: 32px 0 0; - - .logo { - height: 18px; - } - - a { - color: var(--text-h); - font-size: 16px; - border-radius: 6px; - background: var(--social-bg); - display: flex; - padding: 6px 12px; - align-items: center; - gap: 8px; - text-decoration: none; - transition: box-shadow 0.3s; - - &:hover { - box-shadow: var(--shadow); - } - .button-icon { - height: 18px; - width: 18px; - } - } - - @media (max-width: 1024px) { - margin-top: 20px; - flex-wrap: wrap; - justify-content: center; - - li { - flex: 1 1 calc(50% - 8px); - } - - a { - width: 100%; - justify-content: center; - box-sizing: border-box; - } - } -} - -#spacer { - height: 88px; - border-top: 1px solid var(--border); - @media (max-width: 1024px) { - height: 48px; - } -} - -.ticks { - position: relative; - width: 100%; - - &::before, - &::after { - content: ''; - position: absolute; - top: -4.5px; - border: 5px solid transparent; - } - - &::before { - left: 0; - border-left-color: var(--border); - } - &::after { - right: 0; - border-right-color: var(--border); - } -} \ No newline at end of file diff --git a/sona-app/client/src/App.jsx b/sona-app/client/src/App.jsx index f487a9df4..ce7bf2202 100644 --- a/sona-app/client/src/App.jsx +++ b/sona-app/client/src/App.jsx @@ -1,10 +1,13 @@ import { Link, Outlet } from "react-router-dom"; +import logo from "./assets/sona-logo-tagline.svg"; function App() { return ( <>