You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
| == Important ==
 | |
| Organize server API by "page"
 | |
| Inventory
 | |
|   Decrement immediately upon order placement (or even addtocart), not shipment
 | |
|   In placeorder, check that all items are still in stock, because maybe customer added to his cart a few months ago, during which time the item was sold-out
 | |
|   Don't present customers with out-of-stock items, or label them as out-of-stock
 | |
|   On addtocart or updatequantity, check that quantity is in stock
 | |
| Never delete
 | |
|   Set all items to 'deleted=false'
 | |
|   Set any new items to 'deleted=false'
 | |
|   In itemsbyfilter, only return items where 'deleted=false'
 | |
|   In FrameAdmin, make 'delete' column into switch
 | |
| Split into frames and sunglasses
 | |
| 'Enter' in either login textbox triggers attemptlogin
 | |
| Search bar
 | |
| 'Clearance' tab
 | |
|   Each item needs a 'clearance' property
 | |
| 'Place order' makes an invoice and sends email to user; maybe a "My Account" page with orders
 | |
| Implement routes, for back-button
 | |
| Progress bar for image upload
 | |
| Hash passwords (implement in already-existing 'hash' function)
 | |
| Elavon Requirements
 | |
|   Return/Refund Policy
 | |
|   Privacy Policy
 | |
|   Delivery Methods and Timing described
 | |
| 
 | |
| == Nice for the Future ==
 | |
| Make multi-lingual. Multi-currency?
 | |
| Lens Chart
 | |
|   Create item entries in DB
 | |
|   Load all Lens entries, so UI is smooth (it doesn't have to download the new price every time a small change is made)
 | |
| Implement the entire menu hierarchy as per the spreadsheet
 | |
| Go through 'TODO's in code comments
 | |
| Get price info for lenses, equipment, and accessories; get brand/model info on accessories; get AR/transition options for blue bocker and glass
 | |
| 
 | |
| == Notes ==
 | |
| To renew certbot SSL certificate (prepend `--dry-run` before `certonly` to test):
 | |
|   sudo certbot certonly --webroot -w /home/brian/piazza-website/public/ -d piazzaoptical.com
 |