Skip to content

394-w24/BloomCraft2

Repository files navigation


Logo

Bloomcrafter

Bring your floral visions to life with our interactive bouquet builder!
Explore the docs »

Deployed Website

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Acknowledgments

About The Project

Project Screenshot

Bloomcrafter is a mobile application designed to empower users to create personalized floral arrangements and bouquets effortlessly. Whether you're planning a special event, expressing gratitude, or simply want to add a touch of nature to your space, Bloomcrafter offers a seamless and intuitive platform to unleash your creativity and bring your floral visions to life!

(back to top)

Built With

This section lists the major frameworks/libraries used in the project.

  • React - A front-end framework for building responsive websites.
  • Bootstrap - A JavaScript library for building user interfaces.
  • Firebase - A platform developed by Google for creating mobile and web applications. It provides various services such as Firestore (real-time database), Authentication, Cloud Functions, Hosting, and more, to help developers build high-quality apps.

Getting Started

Welcome to BloomCrafter! This guide will help you set up and run the project on your local machine.

Prerequisites

Before you begin, make sure you have the following installed:

  • npm (Node package manager)
    npm install npm@latest -g
  • Git (to clone the project repository)

Installation

  1. Clone the BloomCraft2 repository to your local machine:
    git clone https://github.com/394-w24/BloomCraft2.git
    
  2. Navigate to the project directory:
    cd BloomCraft2
  3. Install the project dependencies:
    npm install
    

Deploying to Firebase

This project was originally deployed to Firebase. If you would like to use Firebase as well, please refer to this comprehensive guide on setting up Firebase.

You will probably want to use Firebase hosting services. If you wish to expand this project and include ways to add to the database within the app, you should initialize a firebase database. We recommend Realtime DB because the data is stored as a json.

As you will see, most of the static data (flower images, flower details) is stored locally. Images are found in public/ and all the flower data is currently stored as a .json under “dummyData.js” under src/components. It’s important to note that the functions rendering these images rely on the local path of the flower and “photoName” field in the flower data (i.e. it will do <img src=/photos/bouquet_flowers/{flower.photoName} />). You would need to consider and adjust this if you plan on implementing some online storage service and/or database.

Running the App

To run the app, you can use the following scripts:

Script Description
npm start Runs the app in the development mode.
npm run dev Alias for npm start.
npm run build Builds the app for production to the dist folder.
npm run serve Serves the production build from the dist folder.
npm test Starts a Jest-like test loop.

Usage

To use the BloomCraft2 app, follow these steps:

  1. Build Your Bouquet:
    • Click on the "Build Your Bouquet" button to navigate directly to the bouquet builder page
    • On the bouquet builder page, you can select different flowers and arrange them to create your personalized bouquet.
    • Click on the desired focal, filler, foliage flowers to add it to your bouquet.

or take our quiz, to get a custom template to start with: Project Screenshot

  1. Customize the size:

    • Toggle between the small, medium, and large sizes buttons. Project Screenshot
  2. View Your Cart:

    • Click on the shopping cart icon to view your current bouquet selections.
    • You can add or remove flowers from your cart as needed.
  3. Generate a Note:

    • After finalizing your bouquet, you can generate a note to accompany your bouquet.
    • Have fun creating beautiful and personalized bouquets for any occasion! Project Screenshot

Roadmap

Include payment API Develop florist profiles to sell products Allow Florist to add flowers to database Allow Florist to receive online orders from the buyers

Known Issues:

  • Users can select more than one container in the BouquetBuilder page.
  • Filter applied by taking the quiz cannot be removed without reloading the page

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

Acknowledgments

  • Christopher K. Riesbeck
  • Roxanne Capron
  • Patrycja Delcourt

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published