Overview

Let's call it "Life Tracker" or "Lifestyle Dashboard." Mylifedash aims to simplify users' lives by tracking their lifestyle. The website functions as a comprehensive dashboard, providing a range of features including financial statements, career and personal life achievement tracking, and a chill zone for relaxation. While the current version of the website offers only a fraction of its intended functionality, it does provide a three-day weather forecast obtained from an API. The weather information includes selected details, but it is important to note that, based on tests and observations, there is a 15% margin of error. In future versions, this margin of error will be addressed and the design will be simplified.

homepage

Technical overview

The initial version of the website was developed using HTML, CSS, and JavaScript as the core programming languages. The main functionality of fetching weather forecasts was implemented through API integration. To enhance the user experience and mimic an application-like behavior, the web application utilized separate HTML pages for each function while maintaining a unified styling and JavaScript page for the entire project. This approach allowed for code reusability and adhered to the principles of clean code by promoting modularization and organization. By writing the code once and leveraging it across multiple functions, the development process was optimized, reducing redundancy and enhancing maintainability. The use of consistent styling and JavaScript code throughout the website ensured a cohesive and unified user interface.

CSS-codeline

As a stylistic principle, the project employed shorthand lines for code efficiency. Default classes such as "fullscreen," "layout," or "border settings" were defined at the top of the file, allowing for consistent application across various elements. This approach facilitated quick and consistent styling without excessive repetition. For the layout, the project utilized the flexbox model for the header and grid layout for sections like the weather forecast section. Flexbox provided flexibility in positioning and aligning elements within the header, while grid layout enabled a structured presentation of content within the weather forecast section. Initially, a slideshow was planned for the hourly forecast, but to streamline the development process and minimize the amount of JavaScript code required, the decision was made to leverage the CSS overflow property. By applying the appropriate overflow settings, the desired behavior for the hourly forecast section could be achieved without the need for extensive JavaScript implementation.

By employing shorthand lines, specifying default classes, and utilizing layout technologies such as flexbox and grid layout, the project achieved efficient and responsive styling. The decision to use CSS overflow instead of building a slideshow with JavaScript helped reduce complexity and code overhead, resulting in a more streamlined development approach.

In this project, the JavaScript file is designed with a focus on efficiency and clean code principles. Approximately 80% of the JavaScript code is dedicated to handling the weather forecast functionality, while the remaining 20% encompasses functions responsible for the modal, clock, Welcome text (based on the time slot), and the display of the month and days from the "new Date" constructor.

To enhance code clarity and maintainability, variables are consistently declared using the const keyword to ensure their immutability. This approach helps avoid accidental reassignments and promotes better code reliability. Furthermore, adhering to clean code principles, all variables are declared at the top of the file, thoughtfully organized under descriptive comments that explain their purpose. For instance, variables related to the clock function are grouped between two "// CLOCK" comments, facilitating easy reference for developers working on the project.
By following this approach, the project promotes code reusability, readability, and maintainability. The decision to keep variable names constant and logically organized reduces the likelihood of naming conflicts and streamlines the development process. The combination of efficient JavaScript usage, adherence to clean code practices, and focus on essential functionalities ensures that the web application performs optimally and delivers a seamless user experience.

Js-codeline

Next steps

In the coming months, I am enthusiastic about undertaking a complete rewrite of the project's frontend using ReactJS. This revamp will encompass introducing new features and an enhanced design, with the overarching goal of elevating the website's quality and user experience.
To ensure scalability and flexibility, I plan to adopt a non-relational database like Atlas as the backend database solution. This choice will enable efficient handling of data and facilitate seamless integration with ReactJS.
By leveraging the power of ReactJS and implementing an advanced database solution, I am committed to delivering a more robust, responsive, and user-friendly website. This ambitious overhaul aims to elevate the overall quality and usability of the platform, providing users with a more enjoyable and intuitive experience.

Overview

As a stage technician in the theater, I noticed the need for a platform to efficiently store the riders of current performances, so I took the initiative and created one. In its initial version, I developed the platform using HTML and CSS, but over time, I've upgraded it to incorporate advanced features using Javascript modules and Bootstrap.

Even though I may not personally utilize the platform, I remain committed to its continuous improvement. I regularly add new functions and enhancements to make it more robust and user-friendly for other theater professionals.

My goal is to make this platform a valuable resource for the theater community, helping streamline their work processes and ensuring seamless performances.

homepage

Technical overview

As mentioned earlier, the platform is ingeniously built on the foundation of JavaScript modules, with each section neatly organized into separate .mjs files. This modular approach empowers the platform with enhanced functionality and facilitates easier maintenance and updates. Moreover, to achieve a seamless and visually appealing user interface, I opted for the powerful combination of Bootstrap and JavaScript modules. The Bootstrap framework allowed me to rapidly implement responsive design elements and pre-built components, while JavaScript modules enabled the creation of interactive and dynamic features.

In parallel, I had the opportunity to delve into Reactjs, which further enriched my understanding of component-based development. The project's file tree for the React version contains essential files like app.js, index.js, data.json, along with dedicated folders such as "media" and "assets." Within the "assets" folder, crucial components from the header to the footer are neatly organized as .mjs files, promoting code reusability and maintainability.

Next steps

In the coming months, I am enthusiastic about undertaking a complete rewrite of the project's frontend using ReactJS. This revamp will encompass introducing new features and an enhanced design, with the overarching goal of elevating the website's quality and user experience.
To ensure scalability and flexibility, I plan to adopt a non-relational database like Atlas as the backend database solution. This choice will enable efficient handling of data and facilitate seamless integration with ReactJS.
By leveraging the power of ReactJS and implementing an advanced database solution, I am committed to delivering a more robust, responsive, and user-friendly website. This ambitious overhaul aims to elevate the overall quality and usability of the platform, providing users with a more enjoyable and intuitive experience.

Overview

Sounds incredible, right? I mean... the title... Let me share an exciting journey I embarked on when my small business faced a challenge. The platform I relied on for accounting suddenly crashed, leaving me in a tight spot. They couldn't maintain it, and I needed a reliable solution to safeguard my accounting data.

That's when I made a bold decision - I took matters into my own hands! I dove into the world of React, and with the help of Teachbit, I began developing my very own accounting platform from scratch.

homepage
dashboard-profile

The process has been both challenging and rewarding. Once users successfully log in, they are redirected to a personalized page showcasing their profile. From there, they gain access to a wealth of platform functionalities. The Financial Section stores essential income and outcome data in a neat table format, empowering me to manage my finances effectively.

In addition to that, the Inventory Section keeps track of the business's inventory, providing me with valuable insights into stock levels and product management.



To top it all off, the Overview Section presents an at-a-glance view of the business's performance through two visually appealing and informative charts. These charts, skillfully crafted using Chartjs 2, offer a comprehensive overview of financial trends and inventory analysis.

I'm truly proud of the progress I've made so far and the valuable skills I've gained through this journey. Developing my own accounting platform has not only streamlined my business processes but also given me the confidence to tackle future challenges.

dashboard-profile

Technical overview

Since the project is currently under development, I can provide you with an exciting technical overview of what's in progress. I am utilizing the latest version of ReactJS, version 18.2, in an npm environment, which allows me to leverage the most up-to-date features and enhancements.

For seamless navigation and user-friendly experience, I've implemented React Router, enabling smooth routing within the application. This ensures that users can access different sections of the platform with ease.

To make the user interface visually appealing and intuitive, I am styling the project with CSS, providing a clean and polished look to the entire platform.

In the long term, I have ambitious plans for the final version. I aim to integrate a robust and scalable database, Atlasdb, to manage the platform's data efficiently. This will enhance data storage and retrieval, empowering the platform to handle complex accounting information seamlessly.