Skip to content

hotwax/bopis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BOPIS app repo

Prerequisite

Ionic CLI - If you don't have the ionic CLI installed refer official documentation for the installation instructions.

Build Notes (Users)

  1. Download the app from release page and extract it.
  2. Go to the app directory.
  3. Run following command to download dependencies
    npm i
  4. Create a .env file by taking reference from the .env.example and set the VUE_APP_BASE_URL to the instance you want to connect the app.
  5. To run the app in browser use the command: ionic serve

Build Notes (Contributors)

  1. Open a Terminal window
  2. Clone app using the command: git clone https://github.com/hotwax/bopis.git <repository-name>
  3. Go to the directory using command: cd <repository-name>
  4. Run following command to download dependencies npm i
  5. Create a .env file by taking reference from the .env.example and change the VUE_APP_BASE_URL to the instance you want to connect the app.
  6. To run the app in browser use the command: ionic serve

Firebase Hosting

We are using firebase hosting for the Bopis app deployment Here are the steps to deploy app on firebase hosting

Prerequisite

  • Firebase Cli should be installed
  • Firebase project should be created
  • You should have access to firebase project

Dev deployment

  • Update the DEV instance url at .env.production file

  • Build the application using following command ionic build

  • Login into firebase firebase login

  • Run following command to deploy to firebase hosting firebase deploy --only hosting:sm-dev

How to build application in different environment or modes(staging, production, qa, etc)?

As there is a bug in Ionic cli due to which we cannot pass flag variables for commands (See #4669). To build application in different modes we need to use vue-cli-service to build and then use the built app using capacitor copy command further.

Follow following instructions:

  1. Manually build the application using vue-cli-service: npx vue-cli-service build --mode=sandbox

  2. Copy web assets to the native project without building the app: ionic capacitor copy ios --no-build

  3. Open the Android Studio / XCode project: ionic capacitor open android
    ionic capacitor open ios

Contribution Guideline

  1. Fork the repository and clone it locally from the main branch. Before starting your work make sure it's up to date with current main branch.
  2. Pick an issue from here. Write in the issue comment that you want to pick it, if you can't assign yourself. Please stay assigned to one issue at a time to not block others.
  3. Create a branch for your edits. Use the following branch naming conventions: bopis/issue-number.
  4. Please add issue number to your commit message.
  5. Propose a Pull Request to main branch containing issue number and issue title.
  6. Use Pull Request template (it's automatically added to each PR) and fill as much fields as possible to describe your solution.
  7. Reference any relevant issues or other information in your PR.
  8. Wait for review and adjust your PR according to it.
  9. Congrats! Your PR should now be merged in!

If you can't handle some parts of the issue then please ask for help in the comment. If you have any problems during the implementation of some complex issue, feel free to implement just a part of it.

Report a bug or request a feature

Always define the type of issue:

  • Bug report
  • Feature request

While writing issues, please be as specific as possible. All requests regarding support with implementation or application setup should be sent to.

UI / UX Resources

You may find some useful resources for improving the UI / UX of the app here.

Join the community on Discord

If you have any questions or ideas feel free to join our Discord channel.

The license

Bopis app is completely free and released under the Apache v2.0 License. Check LICENSE for more details.