A modern firearm e-commerce store built using React + Tailwind, powered by a Node.js + MongoDB backend, with Firebase Authentication and Firestore for user cart management.
- React
- Tailwind CSS
- Framer Motion
- Swiper.js
- Custom React Hooks
- Node.js + Express
- MongoDB Atlas (Cloud Database)
- Environment Variables (.env)
- Firebase Authentication
- Firestore Database (user carts, cart items, etc.)
-
Beautiful & responsive UI (built with Tailwind)
-
Weapons shop with:
- Image, price, brand, details
- Add-to-cart functionality
-
Animated components using Framer Motion
-
Custom testimonial slider (Slider.js)
- Firebase Email/Password login
- Protected user cart
- Auto-fetch user cart on login
- Realtime cart updates
-
Add item
-
Remove item
-
Increase quantity
-
Decrease quantity
-
Cart stored in:
users/{userId}/cartItems/{itemId}
- Express routes for weapon data
- MongoDB Atlas storage
- Fetch all weapons
- CORS enabled for frontend communication
/frontend
/src
/components
/hooks
/pages
App.jsx
main.jsx
/backend
server.js
/models
/routes
.env
- Custom Hooks (
useCart) useEffectfor API calls & Firebase listenersuseStatefor UI state handlinguseReffor slider and animations- Component-based architecture
- Prop drilling + state lifting
-
Framer Motion:
- stagger animations
- fade-in
- slide-up
- spring transitions
- Connecting React frontend to backend
- Storing & fetching data from MongoDB Cloud
- Structuring schemas & routes
- Authentication system
- Firestore cart storage
- Real-time syncing
- Responsive UI with Tailwind
- Integrating external libraries (Swiper/Slider.js)
Pull requests are welcome. For major changes, open an issue first to discuss your proposal.
Design inspired from https://dribbble.com/shots/23729899-Armaments-Online-Gun-Shop-Web-UI-Kit
MIT License.