-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit ab8447b
Showing
188 changed files
with
11,705 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"extends": "next/core-web-vitals" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# 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 | ||
|
||
.env |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Next.js 14 Online Store | ||
|
||
This is a [Next.js 14](https://nextjs.org/docs) Online Store app that uses App Router, NextAuth (Google Provider), NextUI, and TailwindCSS. | ||
|
||
As a cloud-based database, [MongoDB](https://www.mongodb.com/atlas/database) is used with [Prisma ORM](https://www.prisma.io/ ). | ||
|
||
[Stripe](https://stripe.com/) payment service (test mode) is integrated into the app, allowing you to make purchases with test card numbers and view all transactions on Stripe's *Payments* panel. | ||
|
||
In this Online Store app | ||
|
||
+ Implemented **user authentication** flows with NextAuth, for secure and scalable user management | ||
+ Created **Prisma schema** for MongoDB | ||
+ Structured **server actions** to handle data mutations | ||
+ Analyzed **server versus client components** and understood how to utilize each for optimal efficiency | ||
+ Implemented **data validation with Zod** to ensure the reliability of user input | ||
+ **Streamed Content** with React Server Components | ||
+ Implemented **Caching with Request Memorization** for multiple repeted DB queries | ||
+ For some actions impemented **Define in Parent, Fetch in Child** approach | ||
+ Integrated **Stripe** payment service into the app | ||
+ Enriched user interfaces with **TailwindCSS** support for styling components | ||
+ Implemented, and discussed alternatives, to Next.js sophisticated **caching system** for high performance | ||
+ Discussed the critical differences between **development and production environments** | ||
|
||
When you run your application in production mode, its behavior changes, and the default caching behavior may not be suitable for your app. You might be surprised when you deploy your first app. | ||
|
||
To get started. | ||
``` | ||
Clone the repository | ||
git clone https://github.com/Ashot72/Next.js-14-Online-Store | ||
cd Next.js-14-Online-Store | ||
Create the .env file based on the env.example.txt file and include the respective keys. | ||
# installs dependencies | ||
npm install | ||
# to run in development mode | ||
npm run dev | ||
# to run in production mode | ||
npm run build | ||
npm start | ||
# Stripe Card Information for testing | ||
Card Number: 4242 4242 4242 4242 | ||
CVC: 567 | ||
Expiration Date: 12/34 | ||
``` | ||
|
||
Go to [Next.js 14 Online Store Video](https://youtu.be/lZnUgYTFq6E) page | ||
|
||
Go to [Next.js 14 Online Store Description](https://ashot72.github.io/Next.js-14-Online-Store/doc.html) page |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
1) Lego | ||
|
||
Products | ||
name: Ideas Disney Hocus Pocus | ||
description: Capture the bewitching joy of a classic movie with this collectible LEGO Ideas Disney Hocus Pocus: The Sanderson Sisters’ Cottage (21341) set. The cottage can be opened in multiple ways for easy viewing of the interior details, including the museum gift shop, cauldron with a LEGO light brick to illuminate the fire underneath, Book of Spells and the witches’ bat-infested bedroom. Detach the side room where Dani Dennison was captured by the witches and turn the water wheel outside to make pink ’smoke’ puff out of the chimney. A top Halloween gift idea for fantasy-comedy fans, the set features 6 LEGO minifigures, plus a Thackery Binx (in cat form) figure. | ||
price: 109.95 | ||
count: 36 | ||
image: Ideas Disney Hocus Pocus.png | ||
|
||
name: Marvel Spider-Man Final Battle | ||
description: Marvel Spider-Man Final Battle (76261) recreates the spectacular showdown from Marvel Studios’ Spider-Man: No Way Home movie. Packed with iconic characters and web-slinging action, this stunning celebration of Spider-Man will captivate fans aged 10 and up. This 360-degree Marvel playset includes an amazing assortment of LEGO Marvel minifigures, including 3 different versions of Spider-Man: Friendly Neighborhood Spider-Man, The Amazing Spider-Man and Spider-Man. The other minifigures are Electro, Doctor Strange, Green Goblin, Ned, MJ and Doc Ock. | ||
price: 10.79 | ||
count: 50 | ||
image: Marvel Spider-Man.png | ||
|
||
1.1) Toys and Games | ||
|
||
Products: | ||
name: Minifigures Marvel Series | ||
description: Marvel fans ages 5+ can boost their minifigure collections and play out action-packed adventures with a LEGO Minifigures Marvel Series 2 6 Pack (66735). This is a blind box containing a random selection of 6 Marvel characters from the Series 2 (71039) set. There are 12 in total to collect, and each one comes with at least 1 cool accessory. There are 12 unique characters to collect from some of Marvel Studios’ most popular TV shows and movies: Agatha Harkness, Kate Bishop, Hawkeye, Moon Knight, Mr. Knight, She-Hulk, The Werewolf, Goliath, Storm, Beast, Wolverine, Echo. | ||
price: 10.25 | ||
count: 44 | ||
image: Minifigures Marvel Serie.png | ||
|
||
1.1.1) Interlocking Gear Sets | ||
|
||
Products: | ||
name: LEGO Technic Gears and Transmission Parts Pack | ||
description: Loose LEGO original goods in a polybag without original packaging and instructions. | ||
price: 19.24 | ||
count: 5 | ||
image: LEGO Technic Gears and Transmission Parts Pack.png | ||
|
||
1.1.2) LEGO 16pc Technic gear SET | ||
|
||
Products: | ||
name: LEGO 16pc Technic gear SET | ||
description: Use to build robotic LEGO creations! | ||
Connects to Technic, Mindstorms and Bionicle | ||
4 each of the most common LEGO gear | ||
8, 16, 24 and 40 tooth gears (Get EXACTLY what you see pictured) | ||
This genuine LEGO spare part bundle comes in a clear sealed plastic bag. NO LEGO BOX or instructions are included. | ||
price: 18.18 | ||
count: 9 | ||
image: LEGO 16pc Technic gear SET.png | ||
|
||
1.2) Toy Figures & Playsets | ||
|
||
Products: | ||
name: Poppy Playtime | ||
description: ACTION FIGURE: Includes one 5" tall posable action figure, featuring Huggy Wuggy in a unique gold finish! | ||
ACCESSORIES: Includes one attachable accessory: miniature Poppy in a matching gold finish. | ||
COLLECT THEM ALL: Series 2 features four different action figures to collect: Bunzo Bunny, The Player, White Huggy Wuggy, and Gold Huggy Wuggy. | ||
OFFICIALLY LICENSED: Genuine Poppy Playtime merchandise by PhatMojo and Fragment Games. | ||
price: 14.9 | ||
count: 74 | ||
image: Poppy Playtime.png | ||
|
||
2) Electronics | ||
|
||
Products: | ||
name: INIU Power Bank, 25000mAh 65W USB C Laptop Portable Charger | ||
description: | ||
✅【From INIU--the SAFE Fast Charge Pro】Experience the safest charging with over 38 million global users. At INIU, we use only the highest-quality materials, so we do have the confidence to provide an industry-leading 3-year warranty. | ||
✅【65W Fast Charging for All Devices】INIU's inspiring 65W charges your MacBook Pro up to 50% in 30 mins. Hit your phones, tablets and steam deck's latest charging needs, a futuristic feature to rely on. | ||
✅【25000mAh for A Week】The USB C portable charger power bank fast charging massive power supply can charge MacBook Pro 14ʺ 0.9 time or iPad Pro 12.9" 1.6 times, abundant even for devices of huge capacity. | ||
✅【Charge 3 at Once】Triple ports are at your pick. Dual USB-C ports directly fit both new iPad and new iPhone, and one USB-A port for your old devices. | ||
✅【Even Wider Compatibility】INIU battery charger matches with most laptops, tablets, mobiles (iPhone, Samsung...), and small devices as AirPods. Tend your fast charging and trickle charging needs smartly. | ||
✅【What You Get】INIU 65W usb c battery bank*1, USB C to USB C cable*1, USB A to USB C cable*1, user manual*1, travel pouch*1, 30-day money back guarantee, industry-leading 3-year warranty, and lifetime technical support. | ||
price: 59.98 | ||
count: 11 | ||
image: INIU Power Bank.png |
Oops, something went wrong.