A simple, intuitive web application for managing your shopping list with real-time synchronization using Firebase. Add items to your list, and remove them with a simple tap/click when you're done shopping!
- Real-time Synchronization: Your shopping list is stored in Firebase and updates instantly across all devices
- Simple Interface: Clean and user-friendly design with a cute shopping cart icon
- Easy Item Management:
- Add items by typing and clicking "Add to List"
- Remove items by simply clicking on them
- Responsive Design: Works seamlessly on desktop and mobile devices
- PWA Support: Can be installed as a Progressive Web App on mobile devices
- Input Validation: Prevents adding empty items to the list
- HTML5: Structure and content
- CSS3: Styling with custom design
- JavaScript (ES6+): Application logic and interactivity
- Firebase: Real-time database for data storage and synchronization
- Firebase Realtime Database
- Firebase App (v10.9.0)
- PWA (Progressive Web App): Manifest file for installable app experience
Before you begin, ensure you have:
- A modern web browser (Chrome, Firefox, Safari, Edge)
- A Firebase account (for database configuration)
- A web server to serve the files (e.g., Live Server, http-server, or any hosting service)
-
Clone the repository
git clone https://github.com/YadneshTeli/Shopping-List.git cd Shopping-List -
Firebase Configuration (Optional - if you want to use your own Firebase database)
The app currently uses a pre-configured Firebase database. If you want to use your own:
- Create a new Firebase project at Firebase Console
- Enable Realtime Database
- Update the Firebase configuration in
script.js:const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_AUTH_DOMAIN", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_STORAGE_BUCKET", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", appId: "YOUR_APP_ID" }; const appSettings = { databaseURL: "YOUR_DATABASE_URL" };
-
Serve the application
You can use any local server. Here are some options:
Option 1: Using Python
python -m http.server 8000
Option 2: Using Node.js http-server
npx http-server
Option 3: Using Live Server (VS Code Extension)
- Install the Live Server extension in VS Code
- Right-click on
Index.htmland select "Open with Live Server"
-
Access the application
Open your browser and navigate to:
http://localhost:8000(or whichever port your server is using)
-
Adding Items:
- Type the item name in the input field
- Click the "Add to List" button or press Enter
- The item will appear in the list below
-
Removing Items:
- Simply click/tap on any item in the list
- The item will be removed immediately
-
Empty List:
- When the list is empty, you'll see the message "No items here... yet"
Shopping-List/
βββ Index.html # Main HTML file
βββ script.js # JavaScript with Firebase integration
βββ style.css # Styling and layout
βββ site.webmanifest # PWA manifest file
βββ .gitignore # Git ignore file
βββ assets/ # Images and icons
β βββ android-chrome-192x192.png
β βββ android-chrome-512x512.png
β βββ apple-touch-icon.png
β βββ favicon-16x16.png
β βββ favicon-32x32.png
β βββ favicon.ico
β βββ cute-colorful-shopping-cart-clipart-*.png
βββ README.md # This file
The app uses a pleasant color scheme defined in style.css:
- Background:
#EEF0F4 - Button:
#AC485A - Button Hover:
#432000 - Input Background:
#DCE1EB - List Items:
#FFFDF8 - List Items Hover:
#FFECC7
You can customize these colors by editing the CSS variables in style.css.
The app uses the 'Rubik' font family. You can change this in the CSS file.
script.js file. For production use, consider:
- Implementing Firebase Security Rules
- Using environment variables
- Setting up proper authentication
- Restricting database access
This application can be installed on mobile devices as a PWA:
- Open the app in a mobile browser
- Look for the "Add to Home Screen" or "Install" prompt
- Follow the prompts to install
- The app will be available as an icon on your home screen
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/improvement) - Make your changes
- Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/improvement) - Create a Pull Request
This project is open source and available under the MIT License.
Yadnesh Teli
- GitHub: @YadneshTeli
- Shopping cart icon design
- Firebase for the real-time database
- The web development community for inspiration and resources
Made with β€οΈ for simpler shopping experiences