usha-madithati / esmart.github.io

It's for a website called smart saver, where people can make their savings in an innovative and smart way
https://esmart-github-io.vercel.app
67 stars 120 forks source link

Smart Saver

Stars Forks Issues Pull Requests Maintenance

About

Welcome to Smart Saver, a website designed to help households and supermarkets manage their food inventory efficiently. Our platform empowers users to track product expiry dates by scanning QR codes, set alarms for impending expirations, and ultimately save money on daily purchases.

Explore our web application: Smart Saver


STEPS TO PROCEED:

Logging the User:

Registering the User (Locally):

Authorization Tokens:


Twilio Account Setup:

  1. Sign Up for Twilio:

  2. Get Twilio API Credentials:

    • Note down your Account SID and Auth Token from the Twilio dashboard.
  3. Purchase a Phone Number:

    • Obtain a phone number from Twilio for sending SMS notifications.
  4. Install Twilio SDK:

    • Install the Twilio Node.js package in your project:
      npm install twilio
  5. Integrate Twilio into Your Backend:

    • Use the Twilio SDK to send SMS notifications from your backend.
    • Initialize Twilio with your Account SID and Auth Token.
    • Craft and send notification messages using Twilio's API.
  6. Test SMS Notifications:

    • Ensure users receive notifications correctly.
  7. Handle Errors and Edge Cases:

    • Implement error handling for failed SMS delivery or invalid phone numbers.
    • Consider retry mechanisms for failed deliveries.
  8. Monitor Usage and Costs:

    • Keep track of Twilio API usage and associated costs.
  9. Document Integration Steps:

    • Update project documentation with detailed Twilio setup instructions.
  10. Final Testing and Deployment:

    • Deploy the updated project with Twilio integration.

Review Section:

Share your feedback and insights with the Smart Savers community to improve the platform.

QR Code Scanning:

Effortlessly scan QR codes to access instant product information.

Others:

Explore additional features including product management sections.


https://www.figma.com/design/naU9W2cQQa04wB6WsEjkr2/Untitled?node-id=0%3A1&t=DazRyOMA1k4rRDTr-1

Tech Stack Used

  1. HTML5
  2. CSS
  3. JS
  4. ReactJS(need to be converted for better performance)
  5. MongoDB
  6. Express JS
  7. Node JS
  8. SuperJEST
  9. Tailwind
  10. Twilio

Get Started

  1. After successfully setting up the project you can view the project on port 3000
  2. Give access to the camera and log in with your credentials as well.
  3. Now scan the particular product QR and get all the details.
  4. If the software couldn't find your product then our database is missing the product details inn it.
  5. Add that particular product by following the above steps as mentioned above.

Setup and Installation

  1. Fork and Clone the Repository To get started with contributing to our project, fork the repo and then clone it to your local machine:

        git clone https://github.com/usha-madithati/esmart.github.io
        cd esmart.github.io
  2. Make Your Changes Make the necessary modifications or additions to the project files.

  3. Commit and Push Once you've made your changes, commit them and push to your fork:

      git add .
      git commit -m "Describe your changes here"
      git push
  4. Create a Pull Request Navigate back to the original repository and open a pull request from your forked repository.

Backend Setup

Running Tests

To ensure the robustness of our application, we use Jest and Supertest for testing.

Setting up Jest and Supertest

  1. Install Dependencies

    
    npm install jest supertest --save-dev
  2. Create Test Files Create test files in the tests folder (or another preferred directory).

  3. Writing Tests Use Jest and Supertest to write your tests.

  4. Run Tests To run the tests, use the following command: npm test

  5. You can also add a script in your package.json for convenience: "scripts": { "test": "jest" }

    Contributing

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

Deployment

Now if you tested the application and believe that it has your functionality or bug has been fixed as well then raise the PR(Pull Request).

Try our web application here: https://esmartgit.vercel.app/

Smart saver Infographic