Giter Club home page Giter Club logo

open-rifinha's Introduction

Typing SVG

<πŸ‘€> About me </πŸ‘€>

My name is Ivo and I'm brazillian. I'm a Full Stack Web Developer, Game Developer and (work in progress) Mobile Developer. JavaScript and TypeScript mainly with NodeJS, VueJS, ReactJS, NuxtJS, NestJS, strapi and PhaserJS. Passionate to open source and an active member of open source community, love to help and teach people about programming. I'm proactive, dedicated and love challenges.

I made a full-featured MMORPG game called Monster Valle based on PokΓ©mon using JavaScript, NodeJS, PhaserJS, VueJS and websockets with a wonderful team.

I love to work and create my own architectural and engineering creative solutions. A non-programmers friendly, scriptable, flexible and full customizable MMORPG game engine like RPG Maker will be build on top of my game.


<πŸ› > Main Tools </πŸ› >

JS badge TS badge badge badge WebGL badge badge Next JS badge NestJS Strapi badge Koa badge badge badge JWT badge badge Vuetify badge badge badge badge badge RethinkDB badge Sequelize Mongoose Prisma TypeORM badge badge Webpack Vite Yarn NPM Linux badge badge badge Adobe Photoshop

<πŸ› > Secondary Tools </πŸ› >

badge badge C# badge badge badge badge pixijs


<πŸ“š> Currently Studying </πŸ“š>

Dart Flutter React Native Laravel


<πŸ“Š> GitHub Stats </πŸ“Š>

ivopc' GitHub stats Top Langs


<πŸ’¬> Contact Me </πŸ’¬>

Telegram

open-rifinha's People

Contributors

ivopc avatar

Watchers

 avatar

open-rifinha's Issues

ToDo List

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 ---

  • /raffles -

Main[-] Implement filter options with buttons: All | Available | Closed

  • /raffles/[id] -

[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

  • /raffles/payment -

[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 ---

  • /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

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.