Too lazy to create project or little by little ;p
--- Misc ---
Additional[-] Handle errors for all front-end pages for API requests !!IMPORTANT!!
Additional[-] Remove all onMounted initializing with tw-elements and place everything in layouts
Additional[-] Prepare
for mobile
Additional[-] Add Icons to everything missing using
https://flowbite.com/icons/
Additional[-] Implement Input Mask for phone number and CPF section using
https://beholdr.github.io/maska/#/
--- Raffles ---
Main[-] Implement filter options with buttons: All | Available | Closed
[x] IPHONE 14 OR 2,000 BRL - 3rd EDITION
[x] Quantity:
[x] Ticket price:
[x] Limit minimum and maximum number of tickets to buy according to minTicketsPerPurchase and maxTicketsPerPurchase
[x] Limit the number of tickets to be sold based on the remaining tickets
Main[-] Check if the raffle has ended, if so: hide purchase and display winner
[x] Generate PIX with mercado pago (QR CODE and text code)
- Redirect to the /raffles/payment page with the purchase id in the params
[x] Check purchase.value.already_paid on onMounted
[x] Get PIX data:
[x] QR CODE
[x] Text code
[x] Fix overlay bug preventing interaction with the page after reserving the ticket in /raffles/{id}
[x] Record the number of available tickets for the prize
[x] When starting with a value lower than the minimum and increasing, allow the user to proceed without forcing them to go to the minimum value
Additional[-] Use local storage or register at the time of purchase with buyer's information
--- My Orders ---
[x] Search for order by email or mobile phone:
[x] Email
[x] Mobile phone
[x] List all purchased tickets after searches
Main[-] Fix status: Approved | Pending | Expired | Canceled
--- Dashboard ---
Additional[-] Adjust for mobile layout
-
login -
Main[-] Login
-
index -
Main[-] Sales revenue
Main[-] This month
Main[-] Last 7 days
Main[-] Tickets sold (% vs last month)
Main[-] Orders placed (% vs last month)
Main[-] Overview - from day X to day X show a chart of revenue for each day and display the number of orders
-
raffles -
[x] Create raffle
[x] Title (mandatory)
[x] Subtitle (optional)
[x] Mode
[x] Panel
[x] Random
[x] Description (mandatory)
[x] Tickets
[x] Quantity of tickets to be offered (default: 1 to 1000000)
[x] Price per ticket
[x] Ticket assignment
[x] Before payment
[x] After payment
[x] List all prizes
For each prize, a dropdown menu with options:
[x] Share
Main[-] Details
Main[-] Promotion: specific discount
[x] Rules
[x] Images (improve quality)
[-] Winners (define winner, winning ticket)
[x] Define winner
Main[-] Winning ticket
[x] Edit
[x] Fix raffleStartDate and raffleResultsDate to the ideal format for saving in the database
Additional[-] Text editor with HTML or BBCode text formatting https://vueup.github.io/vue-quill/
[x] Delete
Additional[-] Fix modal layouts
-
orders -
[x] List all orders
[x] Display all details
[x] Correct ticket value
Main[-] Apply discounts
[x] Provide option to remove tickets for refund
[x] Remove inserted tickets
[x] Update the purchase database to reflect removal
[x] Update revenue
-
ranking -
[x] Add amount spent by the user
[x] Identify top buyers for the day, week, month, and best-selling prize
[x] Conduct surveys
Additional[-] Adjust layout
-
layout -
Main[-] Display on PC
Main[-] Site logo
Main[-] Site icon
Main[-] Footer - display text
Main[-] Theme
Main[-] Light or dark
[x] Primary color
Main[-] Show/hide step-by-step section (pre-footer)
-
configuration -
Main[-] Site title
[x] Facebook page
[x] Instagram profile
Main[-] Contact - Instagram bubble (display in a floating bubble at the footer fixed position)
[x] Telegram group
[x] WhatsApp group
Additional[-] Handle errors for all routes in controllers !!IMPORTANT!!
Additional[-] Optimize all database queries !!IMPORTANT!! https://strapi.io/blog/understanding-and-using-relations-in-strapi
Additional[-] Use native web API features !!IMPORTANT!!
Additional[-] Optimize the query for the prize service `prize.findAllToDashboard` !!IMPORTANT!!
Additional[-] Change admin roles to control API access !!IMPORTANT!!
Additional[-] Clean up mobile phone number inputs, leaving only the numbers
Main[-] Schedule to release and close raffles cron job https://github.com/kelektiv/node-cron/
Additional[-] Implement a request queue to generate tickets correctly in `/api/purchases/is-paid` https://github.com/sindresorhus/p-queue
Additional[-] Improve the system for generating tickets randomly and generate a list of available tickets if the generated ticket already exists, instead of picking something random to avoid locking the event loop within the `generateNewTicket` function
Additional[-] Security: hpp, helmet