Skip to content
View thegroosalugg's full-sized avatar
🐕‍🦺
🐕‍🦺

Block or report thegroosalugg

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
thegroosalugg/README.md

💫 About Me:

Hi I'm Victor.

🌐 Socials:

LinkedIn CodeWars

📽️ Check out my projects:

 🛒 D-Bay

At first glance, this app may seem similar to my previous project, E-Harbour, which is reflected in the name. However, the focus of this project is quite different. In my previous project, I was responsible for the frontend. With this project, I took on the entire backend development myself, bringing a stronger emphasis on validation, handling edge cases, and route protection. Although I also worked on the frontend, I used EJS to keep the project a cohesive, server-side application. The backend was written with TypeScript, which is compiled by Render.com and dynamically changes the static paths for production so that same assets can be re-used by the nested JavaScript App.


    During development, the password reset emails were configured to fire from my personal GMail to myself. 
    Unfortunately, during production, sending emails to external addresses is limited without a registered business. 
    During production this is skipped and the request redirects you directly to the link you would receive in an email. 
    This ia a demo app, as such you should only input dummy data.
  
Tech Stack

      const techStack = {
        frontend: ['EJS', 'SCSS'],
         backend: ['Node', 'Express'],
       libraries: ["bcryptjs", "connect-mongo", "dotenv", "express-session", "express-validator", "mongoose", "multer", "nodemailer", "stripe"],
      deployment: 'Render',
      };
    
About

    EJS Express Free-ads Project

  • Sessions retain non-sensitive user submitted data on invalidated form submissions
  • All routes protected from unauthorised access
  • CSRF protection with custom middleware
  • Multer configured to store then clean submitted files. This ensures users do not need to re-upload when validation fails
  • First line express validator, backed up by final front mongoose validator, both fed back to user
  • EJS follows React concept. A single template can handle several views.
  • Dynamic GET routes ensure to render correct data based on data received
  • STRIPE Demo [use 4242] handles checkout payments
 💬 Geschwindigkeitsbegrenzung

While studying for my B2 German language course, an important theme was remembering which preposition pairs with which verb. In order to help me memorise them, I decided to make a quick time based game. My original plan was to have AI fill my database with sentences, however it did not quite generate the kind of ideas I had envisioned. Additionally, I saw that I am more likely to remember the question, than the verb-preposition pairings. As such I decided to develop a random sentence generator. The sentences have similar structures, and due to RNG will not be memorable, forcing you to focus on the verbs instead of the questions. Some of these sentences are unlikely to be heard in a typical German conversation, but do add a touch of humour and do a good job in remaining gramatically correct.

Tech Stack

      const techStack = {
        frontend: ['CSS', 'React', 'TypeScript'],
       libraries: ['Framer-Motion', 'React Router', 'Font Awesome'],
      deployment: 'Firebase',
      };
    
About

    Time Based React Quiz

  • Difficulty select affects time remaining, score gained, lives & required score to get item
  • Score based items allow user to pause timer
  • Records high scores, along with difficulty tried
  • Wordbook shows in game verbs, DAT/ACC cases, and Eng & Ru translations
  • Sentence generator differentiates regular, irregular, reflex, separable & stative verbs
  • Runs on desktop, but aimed at mobile. Alternate landscape/portrait layouts
  • Clean, well-written custom hook handles all game logic
 ⚓ eHarbour

The original project that I collaborated on can be found here: comeGetMe. I wrote all of the Frontend using React & TypeScript. After completing the original project, I cloned my own version where I can manage my own DB & deployment.


    Render's servers will hibernate after inactivity and may take a couple of minutes to wake up. 
    No requests are sent on the homepage, please navigate to any other route. 
    A page refresh might be needed if the server does not wake up. 
    Any images uploaded will be erased once the server sleeps.
  
Tech Stack

      const techStack = {
        frontend: ['SCSS', 'React', 'TypeScript'],
         backend: ['Node', 'Express'],
       libraries: {
               react: ['React Router', 'React Helmet', 'Framer-Motion', 'Font Awesome'],
                node: ['BSCrypt', 'CORS', 'DotENV', 'Express Validator', 'JSONWebToken', 'Mongoose', 'Multer', 'Socket.IO'],
                  },
        database: 'MongoDB',
      deployment: ['Vercel', 'Render'],
      };
    
About

    MERN Stack Free-ads Project

  • 2-Man Team Project - I created all Frontend with React & TypeScript
  • All elements animate to server responses
  • Live Chat functionality
  • All client requests handled by a modular and clean custom hook
  • Original Backend ran Session authentication. I converted my version to JWT to escape 3rd party cookie limitations
  • Great responsiveness on all devices. Used sticky nav but ensured it does not steal the page on high zoom
 ☄️ Andromeda

My first React Project after completing a course on Udemy.com. Project written in TypeScript and aims to cover your staple web development features such as cart logic, bookings & account management.

Tech Stack

      const techStack = {
        frontend: ['SCSS', 'React', 'TypeScript'],
       libraries: ['React Router', 'Redux', 'Framer-Motion', 'React Helmet', 'React Datepicker', 'Faker', 'Font Awesome'],
      deployment: 'Firebase',
      };
    
About

    Static React Space Themed Project

  • Covers Cart Logic, Bookings, User Account management
  • Different Frontend styles for each Page: ensures each list offers something new
  • Data storage managed with Redux & localStorage
  • Custom react hook covers form validation, ensures booked dates cannot be re-used etc.
  • Showcases some fun animations & interactive Solar System page using Framer Motion
 🏰 CastleCarnage [CLI game]

With the aim to improve my general coding I wrote a CLI game in Ruby to run in the terminal. To run it, you must download the code from GH, ensure you have Ruby installed, head to root directory and run "ruby interface.rb"

Tech Stack

      const techStack = {
           language: 'ruby',
        environment: 'terminal',
          execution: 'ruby interface.rb',
      };
    
About

    Solo CLI Text based Game

  • Display using ASCII art
  • ANSI escape codes add color
  • Program runs until user quits. Replay is possible
  • Attack random generated monsters, find items in rooms, level up possible, RPG format
  • Easy to read & well organised code structure
 🪙 TreasureKeeper [code only]

I'm sharing a couple of my earlier Le Wagon projects that were initially deployed by a contributor. While I won’t be revisiting or redeploying them, they were valuable learning experiences. Here are the GitHub links for a quick overview.

Tech Stack

      const techStack = {
        frontend: ['SCSS', 'Bootstrap'],
         backend: 'Ruby on Rails',
        database: 'PostgreSQL',
      deployment: 'Heroku',
      };
    
About

    2nd Project at Le Wagon

  • Created in a Team of 4
  • Used Ruby on Rails for the backend
  • I wrote all the frontend using ERB, Bootstrap, & CSS
  • Developed in 3 days of coding
 🚀 MySpaceShip [code only]

I'm sharing a couple of my earlier Le Wagon projects that were initially deployed by a contributor. While I won’t be revisiting or redeploying them, they were valuable learning experiences. Here are the GitHub links for a quick overview.

Tech Stack

      const techStack = {
        frontend: ['SCSS', 'Bootstrap'],
         backend: 'Ruby on Rails',
        database: 'PostgreSQL',
      deployment: 'Heroku',
      };
    
About

    Initial Project at Le Wagon

  • Created in a Team of 4
  • Used Ruby on Rails for the backend
  • I wrote all the frontend using ERB, Bootstrap, & CSS
  • Developed in 4 days of coding

Pinned Loading

  1. Andromeda Andromeda Public

    Shopping Store React Project

    TypeScript 1 1

  2. CastleCarnage CastleCarnage Public

    Ruby 1

  3. eHarbour eHarbour Public

    TypeScript 1

  4. Geschwindigkeitsbegrenzung Geschwindigkeitsbegrenzung Public

    Lern Deutsch

    TypeScript 1