Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Greetings,

Welcome to Cocommerce, an innovative e-commerce platform designed to provide users with a seamless and enjoyable online shopping experience. Our platform offers a diverse range of products, from electronics and fashion to home essentials, all curated to meet the needs and preferences of our valued customers.

Co-commerce is a purpose-built application tailored to meet the demands of the contemporary consumer. Conceived by Victor and Kubra, it represents the culmination of their visionary ideas, extensive research, collaborative endeavors, and a passion for delivering an unparalleled user experience.

Serving as a showcase for their acquired skills and knowledge, Co-commerce guarantees users a fluid navigation experience and an extensive selection of products thoughtfully curated to meet diverse niches and needs. Welcome to a world where innovation seamlessly meets practicality – welcome to Co-commerce, the Ironhack Marketplace.

Getting Started

To get started with Ironhack Marketplace, follow the instructions below:

  • Clone the repository to your local machine.
  • Install the required dependencies with npm install.
  • Start the application with npm run dev and visit http://localhost:3000 in your browser.
  • Explore the marketplace and enjoy the features!

Features

  • Navbar - A component that displays the name and the logo of the app, shown on all the pages.

  • Footer - A component that displays a link to the GitHub repo of the project, shown on all the pages.

  • Sidebar - A sidebar component shown on all the pages. The component should display links to pages added to the app at a later stage.

  • Items List - A list of items showing the JSON data.

  • Conditional Rendering - Conditionally render content using boolean properties from the project’s JSON data.

  • Delete Items - A button on each list item that allows the user to delete the item from the list.

  • Item Details Page - A page showing the details of the selected item from the list of items.

  • About Page - A page showing the project description and information about the team members (students) working on the project, including links to their GitHub and LinkedIn profiles.

  • Not Found Page - A page shown whenever the user navigates to a URL route that doesn’t exist in the app.

  • Create Item Form - A form that allows the user to create a new item and add it to the items list.

  • Update Item Form - A form that allows the user to update an existing item on the list.

Technologies Employed

The technological foundation of the Co-commerce encompasses a diverse array of cutting-edge tools, fostering the creation of a resilient and scalable application. The following catalog details the pivotal technologies integral to our project:

  • React: Our application's dynamic and responsive user interface is crafted using React, an influential JavaScript library renowned for constructing interactive UIs. The component-based structure of React enhances code reusability and facilitates streamlined maintenance.

  • React Router: Efficient navigation and seamless route handling within our single-page application are orchestrated through React Router. This empowers us to deliver an optimal and fluid user navigation experience.

  • PropTypes: Employed for type-checking component props, PropTypes ensures that our components receive accurate and consistent data, fortifying the reliability of our application.

  • CSS3 and HTML5: These foundational technologies contribute to the design and structure of our web pages, bestowing an appealing and user-friendly interface.

  • State Management and Data Handling useState and useEffect Hooks: Instrumental React hooks that proficiently manage state and orchestrate lifecycle events within our functional components.

  • UUID: The 'uuid' library plays a crucial role in generating unique identifiers, particularly beneficial for assigning distinct IDs to new product entries.

  • Forms and Data Submission Form Handling: Our application incorporates advanced form-handling mechanisms, ensuring a smooth and intuitive user experience during the addition and update of product data.

  • Images and Media Image Handling: Efficient management and presentation of images associated with products augment the visual allure and informativeness of our product listings.

  • Development Tools and Practices ESLint/Prettier: Integral tools in our development toolkit, ESLint and Prettier uphold code quality and consistency throughout the entirety of our project.

  • Git and GitHub: Our chosen version control system, Git and GitHub facilitate efficient collaboration and streamlined code management.

  • Responsive Web Design: Adhering to responsive design principles ensures the accessibility and functionality of our application across diverse devices and screen sizes.

Future Enhancements

  • User Accounts and Profiles:

    Allow users to create accounts and profiles for a personalized experience. Implement a secure authentication system. Enable users to track order history and save favorite products.

  • Product Reviews and Ratings:

    Add a review and rating system for products. Provide a space for users to share their experiences with purchased items.

  • Search and Filter Enhancements:

    Improve the search functionality with advanced filters and sorting options. Implement auto-suggestions to enhance user experience during searches.

  • Wishlist and Save for Later:

    Allow users to create wishlists or save items for future purchase. Implement notifications for price drops on wishlisted items.

  • Responsive Customer Support:

    Integrate a live chat or messaging system for customer support. Provide a comprehensive FAQ section to address common queries.

  • Promotions and Discounts:

    Create a promotional system for discounts, coupons, and special offers. Implement a loyalty program to reward repeat customers.

  • Mobile App Integration:

    Develop a mobile app version for iOS and Android platforms. Ensure a seamless and consistent experience across web and mobile platforms.

  • Internationalization and Localization:

    Enable multi-language support to cater to a diverse user base. Implement localization for different regions, including currency and date formats.

  • Social Media Integration:

    Allow users to share their favorite products on social media platforms. Integrate social login options for a quicker registration process.

  • Analytics and Reporting:

    Implement analytics tools to track user behavior and preferences. Generate reports on popular products, user demographics, and sales trends.

  • Dynamic Recommendations:

    Utilize machine learning algorithms for personalized product recommendations. Implement a "Customers Also Bought" or "Recommended for You" section.

  • Guest Checkout Option:

    Provide a guest checkout option for users who prefer not to create accounts. Streamline the checkout process for a quick and hassle-free experience.

  • User Surveys and Feedback:

    Conduct user surveys to gather feedback for continuous improvement. Implement changes based on user suggestions and pain points.

  • Integration with Third-Party Services:

    Explore partnerships with payment gateways for additional payment options. Integrate with shipping services for real-time shipping estimates and tracking.

  • Accessibility Features:

    Ensure your web app is accessible to users with disabilities. Implement features such as screen reader compatibility and high contrast modes.

Project Structure

The Coco-commerce project is structured to ensure ease of development and maintenance. Here's a breakdown of the key directories and files in our project:

This structure reflects our commitment to a clean and organized codebase. Here’s a brief overview of the key components:

  • node_modules: Contains all the npm packages required for the project.
  • public: Stores static files like the main index.html.
  • src: The primary directory where our application's source code resides.
  • assets: Holds reusable components, images, and pages.
  • components: React components like Navbar, ProductForm, etc.
  • images: Images used throughout the application.
  • pages: React components representing different pages of the application.
  • style: CSS files for styling components and pages.
  • .eslintrc.cjs: Configuration file for ESLint to enforce coding styles.
  • .gitignore: Specifies intentionally untracked files to ignore.
  • package-lock.json & package.json: NPM configuration files with project metadata and dependencies.
  • products.json: Contains mock data for products (if used).
  • README.md: The markdown file with project information.
  • vite.config.js: Configuration file for Vite, the build tool.

Made By:

  • Kubra Tokgozlu

    I'm a Turkish native with a background in mathematics. Transitioning to IT, I've found
    excitement in problem-solving and coding. Family time is my greatest joy, and come summer, you'll catch me swimming in the Mediterranean. Join me in this journey where family, IT challenges, and seaside adventures intertwine.

  • Victor Silva

I was born in Brazil but came to Portugal when I was five years old, since then I have lived in Lisbon. I have a background in Management, but I have always been interested in
technology, which is why I decided not to pursue the area of ​​economics. I really like
playing football and playing computer games.

Releases

Packages

Used by

Contributors

Languages