Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ashotik committed Feb 4, 2024
0 parents commit ab8447b
Show file tree
Hide file tree
Showing 188 changed files with 11,705 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next/core-web-vitals"
}
38 changes: 38 additions & 0 deletions .gitignore
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
53 changes: 53 additions & 0 deletions README.md
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
Binary file added assets/INIU Power Bank.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Ideas Disney Hocus Pocus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/LEGO 16pc Technic gear SET.png
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.
Binary file added assets/Marvel Spider-Man.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Minifigures Marvel Serie.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Poppy Playtime.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 72 additions & 0 deletions assets/data.txt
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
Loading

0 comments on commit ab8447b

Please sign in to comment.