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
Flyer-Savvy is a web application aggregates grocery flyers from No Frills that enables users accessing up-to-date deals and product information.
Framework / Library | Purpose |
---|---|
Backend runtime environment | |
Store flyer details | |
ODM for MySQL and Node.js | |
Containerization platform |
To get a local copy of this project up and running, follow these steps:
-
Clone the Repository
git clone https://github.com/Marjorieccc/Flyer-Savvy.git
-
Install Dependencies
Navigate to the project directory:
cd Flyer-Savvy
Install dependencies:
npm install
-
Set up MongoDB
This project uses MySQL for data storage. For a local setup, install and starts a MySQL client.
-
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
fileDATABASE_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 })
-
Start the Application
Navigate back to the root directory:
cd ..
Start the application:
npm start
The application should now be running locally.
For detailed workflows and an in-depth explanation of file interactions, please refer to the documentation here.
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See here for more information.