Experiments

My Bookshelf

This feels like I reach the end of a cycle.
My Bookshelf is my first fullStack project!
I built this React App almost from scratch (I use React Create app) and learn the basics of working with React like React Router.
On the backend side, I created an Restful API using Node.js, express, mongoose.

My Books

I rebuilt my Library page using Node.js, express, mongoose and ejs.

Misstee

After doing the canvas tutorial, I decide to adventure on making my own canvas html game! It takes inspirations in our lovely sweet cat Misstee.

Breakout

This is a tutorial that I followed on MDN to start learning how to work with Canvas

Library

This is the first javascript project of Odin Project. It was my first project with the Object-oriented programming - OOP. It was also my first project using the Test Driven Development approach.

Cash Register

My friend Nevan gave me this challenge to build a simple cash register where I can continue to add features.

  • DOM manipulation (create an element, set attribute, add class)
  • JavaScript (arrays, events, scope, functions)
  • Separate business logic from UI (event handlers, update dom) code

Utopian News

In order to learn more about the CSS grid model, I created this page for a newspaper. I also learnt a bit more about Javascript specifically about date formatting. I know this can be done with libraries such as momentjs but I wanted to try by myself.

Formatting a date
               
                const dayNames = [
                  'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'
                ];
                const monthNames = [
                  'Jan', 'Feb', 'Mar', 'Apr', 'May 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
                ];
                function formatDate (date) {
                  const dayOfTheWeek =  dayNames[date.getDay()];
                  const day = date.getDate();
                  const month = monthNames[date.getMonth()];
                  const year = date.getFullYear();
                  return `${dayOfTheWeek}, ${day} ${month}, ${year}`;
                }
              
            

Etch-a-Sketch

Another project for the Odin Project where I was asked to “build a browser version of something between a sketchpad and an Etch-A-Sketch”.

  • DOM manipulation (create an element, set attribute, add class)

Concrete-Surfers

This is a simple landing page that I create in order to continue my practice with HTML, CSS and javascript.

Rock Paper Scissors

This was an assignment for the Odin Project. Although I was asked to create a game that would be played on the console. I decided that this was a chance for me to integrate everything I had learned to that point. So I create a game on the browser, using CSS and Javascript. I am really proud of myself and have to thank the help of Andre and the coaches from CodeBar Barcelona.

Photo Gallery

  • HTML (best practices)
  • CSS (mobile first, flex-box model, wrap)

JS Intro

This is a collection of my first experiences with JS.

  • JavaScript basics (functions, variables, declarations, statements, values, scope, loop, functions call)
  • Introduction to Web-dev tools (sources, debugging, breakpoints)

African Elephant

Continue my journey through HTML and CSS. At the same time, I started learning JavaScript following the curriculum in the Odin Project. I decided to include in this page a scroll button with JS. I looked at examples and adapted to my page.

My First JavaScript
               
                const button = document.getElementById('top-button');

                function goToTop() {
                  document.documentElement.scrollTop = 0; 
                }
                
                button.addEventListener('click', goToTop);
              
                function scrollFunction() {
                  if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
                    button.style.display = 'block';
                  } else {
                    button.style.display = 'none';
                  }
                }
              
                window.addEventListener('scroll', scrollFunction);
              
            

First Layout

After I finished the Google home page I wanted to practice the skills I had learnt and so created this page. Here I played and practice the skills listed in the post above.

  • HTML best practice (indentation, semantics)
  • CSS responsive layout (flex-box, align elements, background gradient, box shadow)

Google Homepage Clone

This was my first assignment on the Odin Project. It was my first web-page and here are the skills I have learned with this project:

  • git/GitHub - create a repository, clone, add, commit and push;
  • HTML - structure and semantics, elements, tags, attributes;
  • CSS - elements, selectors, declarations, properties and values;