Home > Blockchain >  Angular Framework Auction page
Angular Framework Auction page

Time:01-08

I am making a website to showcase artwork. I want to add an auction functionality. I will use Angular framework and wondered if anyone had any experience doing this. Functionality should be as follows:

  • Only admin users through an admin page with the specified password can add art for auction
  • Users can bid on auction
  • Auction can have a minimum price
  • Payment can be dealt with over email or on the website (not sure what is easiest)
  • Automated email response when bid has been placed
  • Every bid stored so if winner doesn't purchase next closes can try

Greatly appreciated, I understand this may be a huge task - or may not be!

CodePudding user response:

Yep, that's an entire project that people build entire businesses (and thus teams of developers) around.

Can it be done in a simpler fashion? Yes.

Can it be done well in a simple fashion? No.

I'll start throwing a range of things at you so that you can see how much is really involved in handling all of that. Just a glimpse.

You need hosting, there's always a fun start. Self hosting? Cloud hosting? AWS, Azure, other?

You need storage - some kind of database (though definition of such is fairly loose these days). For both user data and art/auction data.

You need to pick a back-end tech; Angular can't (or shouldn't) be the whole app. You should have something doing all of this coordinating, processing, saving, updating, deleting, etc. etc.

That's just the overview of the parts of the system as a whole, the two second version of your various points:

  1. Admin users

Not just the ability for having users, but now you have different roles and thus different access rights and pages that are accessible depending. Though I note you use the phrase "with the specified password" which means you aren't really thinking of having an actual user-based system, just some brute-forceable basic hard-coded string put in there somewhere.

Note: especially if you're expecting to be dealing with money, this will not fly. Security is top of your list, so you need a full, proper, auth system in place.

  1. Users can bid

Well I'd hope so, being the basis for this it seems. That's simple enough; requests through to the server to store relevant bids. However, you need to worry about concurrency - how often will their page be updated so that they are aware of other bids? Does your page pole for changes every x seconds, or will you use websockets so that you can push updates to the clients in real time?

  1. Min price

Yeah, sure, details details.

  1. Payment

Over email? Outside of the odd £5 or something, people buying artworks are not likely to be happy randomly paying for things via email. Sure, maybe, depending on what you're doing and your audience, maybe that's fine. A proper website, however, will provide online payment options; that way buyers have confidence and some protection (against you, in this case).

Take payments? Two options, taking them yourself or via a third party. Doing it yourself is a pain in the backside and there's probably not much of a chance your project would pass the requisite security checks to be approved. So you'd need to work through a 3rd party - those are typically pretty easy to set up (they WANT you to use their services, after all), but it's still another chunk of work you need to do to integrate that.

  1. Automated emails

Sure, emails, easy. Though you need to decide whom your provider is. Self hosted? SendGrid? AWS? etc.? You'll need to keep an eye on your account every now and then as they tend to keep track of your 'reputation' and any bounces, etc. that you get, and if you drop too low, you get no service. E.g. prevent spammers.

  1. Bids stored

Sure, everything should be stored. Bare minimum requirement.

That's just covering your points, let alone the effort of the unspoken requirements in creating an entire site that's acceptable for use and doesn't scare the users away two seconds after they look at it - it needs to look reputable.

You need registration pages, account management pages, galleries, search features (if you're that big?), admin pages (user management, auction management, etc), the lots themselves with the whole bidding mechanisms involved...

That said, you can probably put one together relatively quickly with various website builders - wordpress has a bajillion plugins and I'm sure probably runs half the websites out there at this point, and likely has everything needed to do that; but it wouldn't be Angular, and it wouldn't be your stuff; you're trusting whomever developed those things to have them work, maintain them, etc. etc. while you figure out how they all work and get it all running...

TL;DR: There's a reason devs are pretty well paid. It's always more complicated than you think.

  • Related