Skip to content

Latest commit

 

History

History
184 lines (126 loc) · 6.34 KB

README.md

File metadata and controls

184 lines (126 loc) · 6.34 KB

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)