Hello and thank you for stopping by my repository for Horizons Marketplace! Horizons Marketplace is a NFT Marketplace for digital art and is actually the very first real project I have ever done. The project came into fruition from my passion and love for digital art and animation, and I wanted to create something in which I can not only learn about wed developement and programming, but also something I am passionate about and would have a lot of fun working on! I have been working on this project for almost 11 months now so it consists of all the time I have spent learning about front end developement(The project is front end developement heavy and that is the core purpose and focus of it as of right now). It is still a work in progress and I am not quite done yet, however I am getting quite close to finishing up and gladly welcome any constructive criticism. Now for the technicalities of the project.
To start off, I am using Semantic HTML5 to layout my website pages. I wanted to ensure my layout was as accessible and maintainable as possible, for myself and others going through my code and working through my project. I try and use semantic tags that can easily describe the element I am working with whenever I can, and as I said already, I try to make it as accessible as possible. This includes using alt tags for images, limting the use of div and replacing them with more semantic element tags such as section, main, article, etc.
Now for the styling(a part I love) I started off with using vanilla CSS in my earlier days. As much as I like vanilla CSS, I noticed that maintaining the project as it grew and my stylesheets got larger became more difficult, and I began to notice some major selector name conflcitions going on that started to effect the performance of my application. So I researched and researched and came across preprocessors, and felt very intrigued by SASS. After migrating from CSS(which I was already pretty comfortable with) to SASS, I noticed styling became so much easier! Using SASS(well SCSS) has allowed me to create reusbale components such as the footer, nav, and article styling for all my html pages has significantly minimized code duplication which in turn has made my codebase far more manegeable and maintainable. I also use nesting very often, but in order to avoid messy stylesheets as nesting can be abused, I stick to nesting pseudo elements under class selectors. I have also utilized using mixins for reusable pieces of code such as grids and font styles. Variables are used very often in order to reduce the amount of code being written in my main style files. I also put a major emphasis on responsiveness and have done quite a good job in ensuring Horizons is adaptable to any screen size. Overall I use SCSS for Horizons and I feel it has benefited from using SCSS over CSS.
Now with Javascript. I ended up using vanilla Javascript to add interactivity and fuctionality to Horizons. I ended up using Swiper JS to add interactive and smooth sliders throughout my application. Javascript was used for toggling the nav bar menu on mobile devices, changing colors of a button once clicked etc. It is quite simple as Javascript is my and Horizons weakest point of the project so far, and I am stil in the proccess of learing Javascript as it is my most recent language. But so far I feel that Horizons is quite functional as it utilizes simple and straightforward Javascript code through fucntionality such as DOM Manipulation and conditionals. I am in the process of learning React Js but also enjoy gaining the knowledge of vanilla JS in order to get the fundamentals of the language down, which is why I tackled thsi project without a modern framework.
As far as packgaes are concerned, I installed Node.js as my Javascript run time enviornment, and also installed and utilized Parcel as my web applcaition bundler to allow me to build my web application wihout major configuration.
Again, it is still a work in progress and needs some work, however it has come a long way and I feel quite proud of how far I have come with this project and have learned so much. I am all for advice, tips, and constructive criticism so if you happen to take a look and want to chime in some help, feel free to do so! I love learning and growing as a develoepr and welcome all the knowledge and expertise. Thank you for stopping by!