Skip to content

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Gold Item Bill Registration App

Overview

This is a Node.js and Express.js web application designed to help users register and manage their gold purchase bills digitally. In Nepal, a bill issued by a shopkeeper serves as proof of legitimate ownership of gold items. Traditionally, buyers must keep this physical bill safe for years to come. This app provides a convenient digital alternative, ensuring the bill's information is securely stored and easily accessible.

Features

  • Bill Registration: Users can register their gold purchase bills, storing buyer information and item details digitally.
  • Unique Bill ID: Upon registration, users receive a unique bill ID, serving as a token to verify the authenticity of their purchase.
  • Verification: Users can verify their purchase using the bill ID, buyer's name, or phone number.
  • Ownership Transfer: Owners can transfer the ownership of their gold items. The new owner receives a new bill ID, and the previous owner is removed from the record.
  • Contact Information Update: Owners can update their contact information including name, city, province, and phone number if they have registered at least one bill previously. Note that if multiple bills were registered under the same owner's name and phone number, updating the contact info will affect all those bills.

Bill Information

The app stores the following details:

  • Buyer Information: First name, middle name, last name, address (city and province), and phone number.
  • Item Information: Item name, purchase rate, tax, total cost before and after tax, purchase date, and vouched date.

Usage

Registering a Bill
  • Access the Register Page: Navigate to the register page and fill in the required fields.
  • Submit the Form: Ensure all details are correct and submit the form. The app will validate the information and check for duplicate phone numbers.
  • Receive Bill ID: Upon successful registration, a unique bill ID will be generated and provided to the user.
  • Re-registering with Same Phone Number: If a user registers another bill using the same phone number, they must use the same name, city, and province as in the initial registration with that number. This ensures that multiple bills can be registered under the same user.
Verifying a Bill
  • Access the Verification Page: Navigate to the verification page.
  • Enter Bill ID or Buyer Information: Use the bill ID, buyer's name, or phone number to verify the purchase.
  • View Details: The app will display the details of the registered bill if the information is correct.
Transferring Ownership
  • Initiate Transfer: Access the transfer ownership page and enter the required details.
  • Submit Transfer Request: Confirm the transfer details and submit the request.
  • New Owner Details: The new owner will receive a new bill ID, and the previous owner will be removed from the record. Previous bill id will no longer be valid.
Updating Contact Information
  • Access the Update Page: Navigate to the update contact information page.
  • Enter Phone Number: Verify your identity by entering the phone number used during the bill registration.
  • Update Information: Update the required fields (name, city, province, phone number) and submit the form.
  • Affect on Multiple Bills: Note that if multiple bills were registered under the same owner's name and phone number, updating the contact info will affect all those bills.

Benefits

  • Digital Storage: Eliminates the need to store physical bills for years.
  • Easy Verification: Quickly verify the authenticity of purchases using a unique bill ID or buyer information.
  • Ownership Management: Seamlessly transfer ownership of gold items with updated records.
  • Updated Contact Information: Easily update your contact information, ensuring all your registered bills reflect the correct details.

Technical Details

  • Backend: Node.js, Express.js
  • Frontend: EJS (Embedded JavaScript)
  • Database: MongoDB (via Mongoose)

Installation and Setup

  • Clone the Repository: git clone
  • Install Dependencies: npm install
  • Run the Server: npm run dev
  • Access the App: Open your browser and navigate to http://localhost:PORT

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Releases

Packages

Used by

Contributors

Languages