Projects
E-commerce shop
An anime figures shop. Some pages are private and are protected: the user needs to login in order to see them. Is web responsive, you can signin/out and signup as is connected to the database, add products to the cart or wishlist (if you are a user, it will be saved to the database), buy by using a test card (424242...). The orders page contains all the products you have bought. Check the ReadMe in my repo for more information.
Technologies used:
React (state, hooks (custom ones as well)), Node.js, Express, API's, Bootstrap, Stripe (for the payment functionality), Firebase (for authentication and database), some npm packages: moment, react-currency-format, dotenv, Vercel for hosting and Photoshop.
Netclone
Responsive Netclone streaming website. Has four main pages: home, signin, signout and browse (this one is protected to allow users only). There is one video to play as well.
Technologies used:
React (custom hooks, compound components, styled components), Firebase for the database and hosting, React testing library for the tests, Fuse.js for the search bar.
Pomodoro clock
A pomodoro clock where we can set the work time and the break time. When 'play' is pressed the countdown of the work time starts, when this finishes, the countdown of the break starts. It's a cycle. Everytime a countdown reaches 00:00, it beeps. We can play, pause, stop, increase and decrease the time.
Technologies used:
React (using state hook).
Sudoku solver
A sudoku solver. Periods are blank spaces and numbers are the sudoku starting numbers. An error will show up if a sudoku cannot be solved, if there is a invalid character/value or the length of the puzze is incorrect.This project was specially difficult. A recursive function and the use of matrix were needed.
Technologies used:
Node.js, API's, Mocha, Chai.
Metric imperial converter
A metric imperial converter that converts gallons, liters, miles, kilometers, pounds and kilograms. The aim of this project was more centered in Mocha test framework and Chai assertion library. There is two tests: unit tests (used to test the function that converts the unit measurement) and functional tests (used to test the API's).
Technologies used:
Node.js, Express, Mocha, Chai.
Issue tracker
A project issue tracker where we can create, update and delete an issue. We can also group them by project name. It returns errors when a required field is empty, when we update/delete and an ID that does not exist, etc.
Technologies used:
Node.js, Express, MongoDB, Mongoose, Mocha, Chai, Bson-objectid npm package to generate object ID's.