Giter Site home page Giter Site logo

hmellor / auction-website Goto Github PK

View Code? Open in Web Editor NEW
86.0 86.0 41.0 32.04 MB

An open-source auction hosting system

Home Page: https://hmellor.github.io/auction-website/

License: MIT License

CSS 0.48% JavaScript 96.19% HTML 3.33%
auction auction-service auction-system auction-website auctionapp auctions firebase react

auction-website's People

Contributors

dependabot[bot] avatar hmellor avatar overwatcheddude avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

auction-website's Issues

WhatsApp authentication

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
The no password authentication is nice for this kind of applications given the use case, and allows non tech savvy user access.

On the other side, users cannot be actually identified in a given forum and tech savvy enough users can create multiple accounts.

Describe the solution you'd like
OTP authentication vía usual messaging application would be nice (SMS, WhatsApp, Telegram), it would allow to define phone number as user and no password is needed.
To accomodate different channels, a module/plugin approach would be desired.

Describe alternatives you've considered
User and password authentication, but users forgetting password would be a nightmare.

Additional context
I would like to use this application to add auction functionality to a WhatsApp group we have at a school Sale group. Currently offers get all messed up in the chat, difficult to consolidate pictures and offers for a single item.
The idea would be to add the item to this app and post link to it in the group, users will go to the auction web site and authenticate with OTP registering the same phone number we see in the WhatsApp group.

Firebase/Firestore setup, etc.

Apologies for the basic question but are there undocumented steps associated with "Creating an admin account and initializing your auctions" section (or any other sections) within the README? Cloning and running locally while pointing to the default firebase/firestore instance specified in the default config.jsx file works without issue but no luck when trying to get it working on a separate firebase/firestore environment.

Obviously missing something simple but it's not evident just yet

Update README images

The README images were generated with v2.

v3 looks prettier and has more functionality. So the images should be updated to reflect that.

Investigate per-field Firestore permissions again

Is your feature request related to a problem? Please describe.
isFieldOverWrite() in the Firestore rules only works for one auction

Describe the solution you'd like
Since this problem was discovered a lot has changed with Firestore. The documentation indicates that this may be solvable now.

auction-live is unavailable

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'submit bid'
  2. Click on 'submit bid'
  3. Scroll down to '....'
  4. See error
    auctions.js:146 Uncaught (in promise) TypeError: Cannot convert undefined or null to object
    at Function.keys ()
    at auctions.js:146:26

Additional context

Firestore has not any auction-live data

Add an admin dashboard

Is your feature request related to a problem? Please describe.
Managing the progress of the auction can be difficult because you either have to cross reference users and auction to know who is winning what

Describe the solution you'd like
A second page only accessible* to the admin account which contains a table of the auction's status.

*the page itself will be accessible, but you'll need an admin account in order for the table to populate

Email and password auth

What is needed to add email and password authentication

Issue I have found is it's possible to enter the same username again and it overwrites an existing account

Cannot submit bid

Describe the bug
image
getting this error after following the directions in readme, then trying to submit a bid.
To Reproduce
Steps to reproduce the behavior:

  1. follow the directions in readme
  2. try to submit a bid
    Expected behavior
    It should properly get data from firebase and submit the bid

Screenshots
If applicable, add screenshots to help explain your problem.
image
rules page in firebase

Desktop (please complete the following information):

Additional context
I tried to troubleshoot it with my minimal JS knowledge, and it seems to not be able to get proper information other than undefined from the bid data collections. Sometimes it does not even create a collection, maybe that is the issue. (I may be completely wrong, I don't know much about JS or web development)

admin

Describe the bug
you realize if you type admin.html after auction-website on your site and the sites it puts you in the admin area where you can see the bids and winners???

probably needs addressing.

# | Title | Price | Bids | Winning | Time left -- | -- | -- | -- | -- | -- Sam Manilla | £936366636666662289408.00 | 14 |   | Item Ended Polly Ester | £936366636666662289408.00 | 17 |   | Item Ended Liz Onnia | £1000000000.00 | 4 |   | Item Ended Jasmine Rice | £11000.00 | 3 |   | Item Ended Kerry Oki | £12345623.00 | 5 |   | Item Ended Drew Blood | £90.00 | 3 |   | Item Ended Myra Maines | £10033.00 | 1 |   | Item Ended Joe King | £10.00 | 1 |   | Item Ended Rusty Nails | £12.00 | 0 |   | Item Ended I. Ron Stomach | £6.00 | 0 |   | Item Ended Sawyer B. Hind | £500.00 | 3 |   | Item Ended Al Luminum | £1000.00 | 9 |   | Item Ended
© 2022 Harry Mellor

Create Wiki for teaching new users

Is your feature request related to a problem? Please describe.
@BartokW has let me know that the Firebase instructions in the readme are relatively unclear for a first time Firebase user.

Describe the solution you'd like
In order to simplify first time set up and website operation, I think that utilising the Wiki feature of GitHub will enable much of this to be self taught. Leading to a less repetitive issue feed.

Users can bid after auction has ended

Describe the bug
The only thing stopping the users from bidding after the timer runs out is the disabling of the bid button. This means that if the bid popup is already open when the timer runs out then the user can bid after the auction is complete and guarantee that they win.

To Reproduce
Steps to reproduce the behavior:

  1. Click on Bid Now.
  2. Wait for auction timer to run out.
  3. Place bid.

Expected behavior
Users should now be able to bid after the auction is completed.

Potential solutions

  • Also disable the submit button when the timer runs out.
  • Set up a Firebase rule to disallow writing to the database for completed auctions (this would be very tricky for the auction-live collection in the database).

Make UI reactive (currently optimised for mobile only)

Describe the solution you'd like
Currently the UI of the website does not scale well to desktop use. This should be relatively easy to do but will require some time and consideration to find what looks good.

Describe alternatives you've considered
Utilise the reactive properties of the existing Material Design Lite elements.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.