Skip to content

Discover the best grocery deals each week with Flyer Savvy, your go-to tool for finding top offers from all your favorite weekly flyers.

Notifications You must be signed in to change notification settings

Marjorieccc/Flyer-Savvy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Issues MIT License

Flyer Savvy

Discover the best grocery deals each week with Flyer Savvy, your go-to tool for finding top offers from all your favorite flyers.
· Report Bug · Request Feature

About The Project

Flyer-Savvy is a web application aggregates grocery flyers from No Frills that enables users accessing up-to-date deals and product information.

(back to top)

Built With

Framework / Library Purpose
Node.js Backend runtime environment
MySQL Store flyer details
Drizzle ODM for MySQL and Node.js
Docker Containerization platform

(back to top)

Getting Started

To get a local copy of this project up and running, follow these steps:

  1. Clone the Repository

    git clone https://github.com/Marjorieccc/Flyer-Savvy.git
    
  2. Install Dependencies

    Navigate to the project directory:

    cd Flyer-Savvy
    

    Install dependencies:

    npm install
    
  3. Set up MongoDB

    This project uses MySQL for data storage. For a local setup, install and starts a MySQL client.

  4. Set up Environment Variables

    Create a .env file in the root directory and add the following environment variables, This project uses Cloudinary for image hosting which we also store relevant data in .env file

     DATABASE_URL=your-mysql-database-url
     DB_HOST=your-mysql-database-host
     DB_USER=your-mysql-database-user
     DB_PASSWORD=your-mysql-database-password
     DB_NAME=your-mysql-database-name
    

    Create a drizzle.config.ts file in the root directory and add the following environment variables:

     import { defineConfig } from 'drizzle-kit'
     export default defineConfig({
         dialect: 'mysql',
         schema: './src/drizzle/schema', // or other locations you wish to put schema files for
         out: './src/drizzle/migrations', // or other locations you wish to put sql script files for
         dbCredentials:{
             url: process.env.DATABASE_URL as string
         },
         verbose:true,  // which can tell us what will be changes
         strict: true   // which need confirmation before changes apply to database schema
       })
    
  5. Start the Application

    Navigate back to the root directory:

    cd ..
    

    Start the application:

    npm start
    

    The application should now be running locally.

(back to top)

Workflow

For detailed workflows and an in-depth explanation of file interactions, please refer to the documentation here.

(back to top)

Contributing

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 here for more information.

(back to top)

Contact

(back to top)

Acknowledgments

(back to top)

About

Discover the best grocery deals each week with Flyer Savvy, your go-to tool for finding top offers from all your favorite weekly flyers.

Topics

Resources

Stars

Watchers

Forks