Project Log
Project Log
Day 1:
o Created a new GitHub repository named "ShopEase-publiv".
o Initialized the repository with a README file to describe the project's
purpose and objectives.
Day 2:
o Created the initial directory structure including folders for backend,
frontend, and database schema.
o Added initial files like .gitignore, package.json, and configuration files.
Day 3:
o Installed Node.js and set up package managers (npm or yarn).
o Installed essential dependencies such as Express for the backend.
Day 4:
o Configured environment variables and set up a local development server.
Day 5:
o Designed the database schema by identifying entities (e.g., Products,
Categories, Users) and relationships.
o Created database tables using MongoDB or MySQL.
o Wrote scripts to initialize and seed the database with sample data.
Day 1:
o Created a registration form where users could sign up by providing their
details like username, email, and password.
o Implemented server-side validation to ensure data integrity and security.
Day 2:
o Developed a login form that allowed users to log in with their credentials.
Day 3:
o Used session management or JWT (JSON Web Tokens) to handle user
sessions securely.
Day 4:
o Implemented secure password storage using hashing algorithms like
bcrypt.
o Ensured passwords were never stored in plain text.
Day 5:
o Set up middleware to protect routes and resources.
o Ensured only authenticated users could access certain parts of the
application.
Day 1:
o Created RESTful endpoints for CRUD operations on products, categories,
and users.
o Defined routes for these endpoints and handled HTTP methods (GET,
POST, PUT, DELETE) appropriately.
Day 2:
o Implemented business logic for handling requests and responses.
o Ensured data validation, error handling, and response formatting were
properly managed.
Day 3:
o Set up error handling for the API.
Day 4:
o Integrated the backend with the database to perform operations like
fetching, creating, updating, and deleting records.
Day 5:
o Used an ORM (Object-Relational Mapping) or ODM (Object-Document
Mapping) for database interactions.
Day 1:
o Designed and implemented key UI components such as the product list
and product details.
Day 2:
o Developed components for user profile and navigation bar.
Day 3:
o Ensured components were reusable, modular, and followed best practices.
Day 4:
o Applied CSS or a CSS-in-JS solution to style the components.
o Ensured a consistent look and feel across the application by using a
design system or component library.
Day 5:
o Implemented interactive features like buttons, forms, and modals.
o Ensured components were responsive and accessible.
Day 1:
o Chose a frontend framework (e.g., React) and set up the project structure.
Day 2:
o Configured build tools like Webpack or used Create React App.
Day 3:
o Installed necessary frontend dependencies such as React, React Router,
and UI libraries (e.g., Material-UI, Bootstrap).
Day 4:
o Configured project settings and environment variables.
Day 5:
o Created the initial folder structure for components, services, and assets.
o Set up routing for different pages of the application.
Day 1:
o Implemented API calls using libraries like Axios or Fetch to communicate
with the backend.
Day 2:
o Handled asynchronous operations and managed loading states.
Day 3:
o Used state management libraries (e.g., Redux, Context API) to manage
the application state.
Day 4:
o Ensured data was fetched, stored, and updated efficiently.
Day 5:
o Handled errors gracefully by displaying appropriate messages to users.
o Ensured the application could recover from errors without crashing.
Day 1:
o Implemented a search bar that allowed users to search for products by
name or keyword.
Day 2:
o Ensured the search functionality was efficient and responsive.
Day 3:
o Added filters for categories, price ranges, and other attributes.
Day 4:
o Allowed users to apply multiple filters simultaneously and updated the
product list accordingly.
Day 5:
o Implemented sorting options for products based on criteria like price,
popularity, and rating.
o Ensured the sorting feature was intuitive and user-friendly.
Day 1:
o Created forms for product management, including fields for product name,
description, price, category, and images.
Day 2:
o Validated form inputs and handled form submissions.
Day 3:
o Integrated the forms with the backend API to perform CRUD operations.
Day 4:
o Ensured the operations were secure and only accessible by authorized
users.
Day 5:
o Provided feedback to users upon successful or failed operations.
o Displayed confirmation messages and handled errors appropriately.
Day 1:
o Allowed users to add and remove products from the shopping cart.
Day 2:
o Displayed the cart summary with product details, quantities, and total
price.
Day 3:
o Ensured cart data was persisted across sessions using local storage or
backend storage.
Day 4:
o Handled scenarios where users logged in and out.
Day 5:
o Implemented a checkout process that allowed users to review their cart,
enter shipping information, and proceed to payment.
Week 10: Implementing Payment Processing
Day 1:
o Chose a payment gateway (e.g., Stripe, PayPal) and integrated it into the
application.
Day 2:
o Handled payment transactions securely and efficiently.
Day 3:
o Created forms for users to enter payment details.
Day 4:
o Ensured the forms were secure and complied with industry standards
(e.g., PCI-DSS).
Day 5:
o Handled successful and failed payment scenarios.
o Saved order details to the database and provided users with order
confirmation and receipts.
Day 1:
o Wrote unit tests for individual components and functions using testing
libraries (e.g., Jest, Mocha).
Day 2:
o Ensured each unit worked as expected.
Day 3:
o Performed integration tests to ensure different parts of the application
worked together seamlessly.
Day 4:
o Tested interactions between frontend and backend.
Day 5:
o Identified and fixed bugs and issues.
o Used debugging tools and techniques to troubleshoot problems.
o Ensured the application was stable and reliable.
Day 1:
o Wrote user documentation to guide users on how to use the application.
Day 2:
o Included step-by-step instructions, screenshots, and troubleshooting tips
in the user documentation.
Day 3:
o Created developer documentation to help future developers understand
the codebase.
Day 4:
o Included setup instructions, code structure, and API references in the
developer documentation.
Day 5:
o Conducted a final review of the application to ensure all features were
implemented correctly.
o Performed a final round of testing and made any necessary adjustments.