Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
84d0a52
still committing
nsLittle Aug 25, 2024
ef1841d
still trying
nsLittle Aug 25, 2024
4a37fc4
commit
nsLittle Aug 25, 2024
e06132b
got started
nsLittle Aug 26, 2024
3e92516
added sort pricefrom high to low
nsLittle Aug 27, 2024
dc86647
looking good, darling
nsLittle Sep 3, 2024
793f4ea
FE talking to BE
nsLittle Sep 5, 2024
cde8fe4
FE talking to BE
nsLittle Sep 5, 2024
373931c
products w/ details rendering
nsLittle Sep 5, 2024
0e10d21
back on track
nsLittle Sep 16, 2024
c2d3604
not crazy
nsLittle Sep 18, 2024
059e81f
price array returning correct; now to render
nsLittle Sep 18, 2024
b18c7ce
drop down price renders; still need to deal with ALWAYS rendering at …
nsLittle Sep 18, 2024
ba0549b
testing...
nsLittle Sep 19, 2024
2a8daf1
drop down menus only allowed one value other than default
nsLittle Sep 19, 2024
66090eb
opened json query
nsLittle Sep 19, 2024
1a005dc
Products_By_Category_Alpha console logs correctly; need to render sam…
nsLittle Sep 19, 2024
67fdc86
drop down category work; still NEEDS 6 products per page unless no mo…
nsLittle Sep 19, 2024
388cada
drop down category renders correctly; still NEEDS to fix always rende…
nsLittle Sep 19, 2024
9e66902
first draft complete
nsLittle Sep 21, 2024
5114c7a
redux
nsLittle Sep 30, 2024
71f6fa6
cleaned drop down bar
nsLittle Oct 2, 2024
1c1ade0
searchbar works
nsLittle Oct 2, 2024
41b9c37
drop down categoryfixed
nsLittle Oct 3, 2024
32b5274
minor cleanup
nsLittle Oct 3, 2024
5c80575
stats included
nsLittle Oct 4, 2024
0e98a5a
always returns 6 products until end of list
nsLittle Oct 4, 2024
25da370
totally bonkers
nsLittle Oct 4, 2024
571fb99
drop down category completed; return button cleaned up
nsLittle Oct 5, 2024
74f6283
minor cleanup
nsLittle Oct 6, 2024
410c504
url corrected
nsLittle Oct 9, 2024
1bc3e77
drop down categories work simultaneously
nsLittle Oct 14, 2024
975e37b
drop down menus stack as url queries and renders correctly; return to…
nsLittle Oct 14, 2024
c5a7b18
weirdness fixed
nsLittle Oct 14, 2024
0ed0747
drop down category and price work independently and together; drop do…
nsLittle Oct 15, 2024
690bffe
random weirdness resolved; still working on next/last page links
nsLittle Oct 16, 2024
af2646f
back to baseline; working on next/last page link
nsLittle Oct 19, 2024
b052688
next page works
nsLittle Oct 19, 2024
20b2b4d
final touches; reread instructions again before submit
nsLittle Oct 19, 2024
e97595f
all instructions completed
nsLittle Oct 20, 2024
94e5d04
cleaned up README.md
nsLittle Nov 19, 2024
1cf148b
pre-deployment
nsLittle Jan 24, 2025
d25abde
updated mongodb connection
nsLittle Jan 25, 2025
08dc6f8
mongodb connection corrected
nsLittle Jan 25, 2025
f33cb39
.env fixed
nsLittle Jan 25, 2025
141d891
mongo path fixed
nsLittle Jan 25, 2025
20be833
mongo fixed
nsLittle Jan 25, 2025
a33b1d2
fixed build script
nsLittle Feb 1, 2025
4dd0d71
server update
nsLittle Feb 1, 2025
44776af
package.json syntax issue resolved
nsLittle Feb 1, 2025
3e58d4f
server fixed; package.json calibrated for heroku
nsLittle Feb 1, 2025
dc46041
Reinstalled dependencies
nsLittle Feb 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
Binary file added .DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
MONGO_URI=mongodb+srv://little:Frankie123@cluster0.x9ud1.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0

PORT=https://product-lister-60eeccfa10d1.herokuapp.com/
1 change: 1 addition & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: node server.js
64 changes: 62 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,66 @@
## Product List


This project has been created by a student at Parsity, an online software engineering course. The work in this repository is wholly of the student based on a sample starter project that can be accessed by looking at the repository that this project forks.
This project was created by Mutsumi Hata, a student at Parsity, an online software engineering program. The work in this repository is wholly of the student based on a sample starter project that can be accessed by looking at the repository that this project forks.

If you have any questions about this project or the program in general, visit [parsity.io](https://parsity.io/) or email hello@parsity.io.

### Project Description

This fullstack project was created using Node Express for the backend, and React Nextjs for the frontend. Using fake data generated from Fakerjs.dev, this project mmimcs an online product list.

The project currently has reviews stored in the backend for each product. This has not been tied in with the frontend for rendering at the moment.

This can ultimately be built into an online store with shopping carts and user authentication into online order histories, etc.

### Table of Contents

- product-list
- client
- app
- DropDownCategory
- page.js
- DropDownPrice
- page.js
- ProductList
- page.js
- ReturnLink
- page.js
- SearchBar
- page.js
- redux
- actions
- productActions.js
- reducers
- index.js
- productReducers.js
- store.sj
- globals.css
- layout.js
- page.js
- models
- product.js
- routes
- main.js
- package.jsongit
- README.md
- server.js

### How to Run Application

1. Open terminal
2. Type: 'brew services start mongodb/brew/mongodb-community@5.0'
3. Type: 'mongosh'
4. Locate file: product-list
5. Make sure Node.js is installed If not, type: npm install
6. Type: npm run dev
7. Type: open http://localhost:8000 (or other appropriate host)
8. Go to: http://localhost:8000/generate-fake-data
9. Locate file: client
10. Type: npm run dev
11. Locate file: product-list
12. Type: npm run dev
13. Type: open http://localhost:3000 (or other appropriate host)

### Things to Add/Edit

1. REREAD INSTRUCTIONS
3 changes: 3 additions & 0 deletions build/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next/core-web-vitals"
}
36 changes: 36 additions & 0 deletions build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
36 changes: 36 additions & 0 deletions build/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
Binary file added build/app/favicon.ico
Binary file not shown.
Binary file added build/app/fonts/GeistMonoVF.woff
Binary file not shown.
Binary file added build/app/fonts/GeistVF.woff
Binary file not shown.
42 changes: 42 additions & 0 deletions build/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
:root {
--background: #ffffff;
--foreground: #171717;
}

@media (prefers-color-scheme: dark) {
:root {
--background: #0a0a0a;
--foreground: #ededed;
}
}

html,
body {
max-width: 100vw;
overflow-x: hidden;
}

body {
color: var(--foreground);
background: var(--background);
font-family: Arial, Helvetica, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

* {
box-sizing: border-box;
padding: 0;
margin: 0;
}

a {
color: inherit;
text-decoration: none;
}

@media (prefers-color-scheme: dark) {
html {
color-scheme: dark;
}
}
28 changes: 28 additions & 0 deletions build/app/layout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import localFont from "next/font/local";
import "./globals.css";

const geistSans = localFont({
src: "./fonts/GeistVF.woff",
variable: "--font-geist-sans",
weight: "100 900",
});
const geistMono = localFont({
src: "./fonts/GeistMonoVF.woff",
variable: "--font-geist-mono",
weight: "100 900",
});

export const metadata = {
title: "Create Next App",
description: "Generated by create next app",
};

export default function RootLayout({ children }) {
return (
<html lang="en">
<body className={`${geistSans.variable} ${geistMono.variable}`}>
{children}
</body>
</html>
);
}
95 changes: 95 additions & 0 deletions build/app/page.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
import Image from "next/image";
import styles from "./page.module.css";

export default function Home() {
return (
<div className={styles.page}>
<main className={styles.main}>
<Image
className={styles.logo}
src="https://nextjs.org/icons/next.svg"
alt="Next.js logo"
width={180}
height={38}
priority
/>
<ol>
<li>
Get started by editing <code>app/page.js</code>.
</li>
<li>Save and see your changes instantly.</li>
</ol>

<div className={styles.ctas}>
<a
className={styles.primary}
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
<Image
className={styles.logo}
src="https://nextjs.org/icons/vercel.svg"
alt="Vercel logomark"
width={20}
height={20}
/>
Deploy now
</a>
<a
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
className={styles.secondary}
>
Read our docs
</a>
</div>
</main>
<footer className={styles.footer}>
<a
href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
<Image
aria-hidden
src="https://nextjs.org/icons/file.svg"
alt="File icon"
width={16}
height={16}
/>
Learn
</a>
<a
href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
<Image
aria-hidden
src="https://nextjs.org/icons/window.svg"
alt="Window icon"
width={16}
height={16}
/>
Examples
</a>
<a
href="https://nextjs.org?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
<Image
aria-hidden
src="https://nextjs.org/icons/globe.svg"
alt="Globe icon"
width={16}
height={16}
/>
Go to nextjs.org →
</a>
</footer>
</div>
);
}
Loading