Web Developer & UIUX Designer
A Music E-commerce Site Selling Violin Instruments, Accessories & Lessons
Full-stack Web Developer
Project Leader
UI Designer
Full-stack Web Development
Web UI Design
Jan. – May. 2024
Front-end: Javascript, React.js, HTML, CSS, Bootstrap
Back-end: Node.js, MySQL
Version Control: Git, Github
UI Design: Figma
Wu Rongxuan, Lin Jing, Lin Yixin, He Zonglun, and me
Also, the complete code & database of this project can be seen in my Github (click me)
Eleganza, meaning “elegant” in Italian, embodies a violin music studio that offers a range of violin-related products and lessons catering to both novices and advanced violin learners and lovers.
Optimizing the Course Booking Experience
Catering to Different Customer Needs
Increasing Exposure of Violin Art-Related Information
Front-End Development (React.js):
Back-End Development (Node.js):
Responsive Web Design (RWD):
UI/UX Design (Figma):
Proposal Writing and Graphic Design:
Project Coordination and Management:
- Designed design system and UI via Figma
- Confirmed web content and information architecture with a UX mindset
- Developed UI layout with HTML5 & CSS3
- Prepared layout for integration into React/Next.js framework
- Implemented Responsive Web Design (RWD)
- Used JSX and hooks in React to develop static and interactive pages
- Developed mobile version pages
- Developed a back-end system using Node.js with the Express.js framework
- Adhered to the RESTful API architecture
- Implemented API consumption in front-end pages
- Integrated the back-end with the front-end in each developer's parts
- Ensured seamless communication through API endpoints
- Facilitated efficient data exchange between the client and server
- Delivered after testing & debugging
As one of two UI Designers, I co-created the website’s design system, opting for Serif typefaces for titles, including the logo, sans-serif as paragraph text, and utilizing grayscale as primary and secondary colors. This choice reflects the elegance and sophistication of classical music.
Using violin wood tones as the
brand color, low-saturation shades
create an elegant style and enhance the
website’s quality, serving as both text and
background colors.
P 阿爾扎
I led the design of headers and footers for both mobile and desktop devices, as well as elements and RWD pages for the homepage, teacher, and lesson pages.
Button status respectively: Default, Hover and Disabled
The complete code & database of this project can be seen in my Github (click me).
Below is the final presentation of this project, While it is in Chinese, it showcases the complete features and highlights each developer’s contributions.
localStorage may not be sufficiently secure.
Both the registration and login forms are designed as
overlaid off-canvas can be triggered by the click on profile icon on the the header; they are configured with regular expressions and form validations to ensure users follow specific rules when creating accounts. The password strength bar uses the react-password-strength-bar component to assist in setting secure passwords.
In the account center, additional pages display users’ order history and purchased lesson data. By detecting users’ login status, the account center dynamically updates to reflect any actions taken by users, such as placing orders or
leaving comments.
On the profile page, users can update their profile information at any time by changing
the values in the fields and clicking the save button. During registration, fields like Display
Name and Name, which are not required, can be added later in the profile section. This
allows the updated Display Name to appear in the side navigation menu. The phone
number and password fields are set with regular expressions to ensure only specific
formats are accepted, ensuring data security and accuracy. Red characters is logout.
Product and lesson pages share several common features, such as tabs for different categories, checkbox filters for specific traits, pagination, a search bar, price sorting, post-order comment sections, and breadcrumb navigation for easy site navigation.
In addition, the lesson page includes unique features like a calendar and slot selectors, enabling users to schedule lessons seamlessly.
The course list displays instructors and start dates, with filters for categories, date, experience, and music style. Users can select a continuous date range on the calendar to view available courses during that period.
Instrument lessons are typically one-on-one, making exclusive slot selection a key feature. On the course detail page, users can view details, select slots, and book easily. Non-members are prompted to log in before adding to the cart.
The cart page uses animations for transitions and completes the checkout process. Users can adjust item quantities on the confirmation page, with items automatically removed if the quantity is less than one. Payment details are displayed in an accordion style. Refreshing the page allows quantity adjustments. After a successful purchase, the order summary and ID are shown, with options to continue shopping or view order history.
Focused on Information Display, the goal is to equip both novice and advanced users with the knowledge needed to select the violin or lesson that best suits their needs.
Our database, tables were continue modifying to meet our need for the website content. Something worths mentioning includes:
This was my first web development project, and I’m proud to have completed it. Initially, I doubted my back-end skills, especially with Node.js, but I ended up developing the entire user management system, which heavily relied on back-end development. Through hands-on practice, I gained valuable experience in both front-end and back-end development. This project confirmed my career goal to become a web developer, not just a designer.
The website you are visiting is my second web development, also individually developed web project, serving as my first online portfolio.
Tina Loman’s web development & UIUX Studio is Tina’s personal website as portfolio, aiming to develop branding and offer more services in the future.