Skip to content

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Sole Sphere

The purpose of this website is to provide a streamlined ecommerce platform for sneakers. Users on the site have the ability to buy/sell/trade new and used sneakers all in one place. We want to enhance the experience of sneaker buying by providing competitor pricing and detailed information on the sneakers that our users post, so that way all your research can be done on one website without having to bounce back and forth.
Explore the docs »

View Demo · Report Bug · Request Feature

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

About The Project

Product Name Screen Shot

(back to top)

Built With

  • React
  • Flask
  • Firebase
  • Google Cloud
  • Tailwind CSS
  • Docker

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

Make sure you have node.js, git, and python downloaded on your end:

Next, open VS code, in a new folder, then open terminal:

git clone https://github.com/MarkusCDev/CSC473-GroupProject.git

You should now see Frontend and Backend Folders

Installation

Front End Setup

cd Frontend
cd csc473gp
npm install

Before you can run, you need to create a .env file (same file root as firebase.js) with your Firebase configuration:

VITE_APP_FIREBASE_API_KEY=<YOUR_FIREBASE_API_KEY>
VITE_APP_FIREBASE_AUTH_DOMAIN=<YOUR_FIREBASE_AUTH_DOMAIN>
VITE_APP_FIREBASE_PROJECT_ID=<YOUR_FIREBASE_PROJECT_ID>
VITE_APP_FIREBASE_STORAGE_BUCKET=<YOUR_FIREBASE_STORAGE_BUCKET>
VITE_APP_FIREBASE_MSG_SENDER_ID=<YOUR_FIREBASE_MSG_SENDER_ID>
VITE_APP_FIREBASE_APP_ID=<YOUR_FIREBASE_APP_ID>
VITE_APP_FIREBASE_MEASUREMENT_ID=<YOUR_FIREBASE_MEASUREMENT_ID>
VITE_APP_CLOUD_API_URL=http://127.0.0.1:8080

Now to run:

npm run dev

Back End Setup

cd backend
python -m venv env
env/scripts/activate
pip install -r requirements.txt
flask run

Side note: When making changes in backend, you have to restart flask run to have it run the new stuff.

Add auth.json file with your Firebase admin configuration:

{
  "type": "service_account",
  "project_id": "<YOUR_PROJECT_ID>",
  "private_key_id": "<YOUR_PRIVATE_KEY_ID>",
  "private_key": "<YOUR_PRIVATE_KEY>",
  "client_email": "<YOUR_CLIENT_EMAIL>",
  "client_id": "<YOUR_CLIENT_ID>",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/<YOUR_CLIENT_EMAIL>"
}

Back End Deployment setup

Within Dockerfile include:

FROM python:3.9.17-bookworm

ENV PYTHONUNBUFFERED True
ENV APP_HOME /back-end
WORKDIR $APP_HOME
COPY . ./

RUN pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt

CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 app:app
gcloud run deploy --source .

Usage

Product Image 1 Product Image 2 Product Image 5

Product Image 4Product Image 3

(back to top)

Roadmap

Initial Setup

  • Set up repository
  • Install initial dependencies
  • Configure Firebase and Google Cloud

Frontend Development

  • Set up React with Tailwind CSS
  • Implement initial UI components

Backend Development

  • Set up Flask server
  • Implement API endpoints

Hosting and Deployment

  • Configure Firebase for frontend hosting
  • Configure Google Cloud for backend hosting

Feature Development

  • Implement user authentication
  • Implement sneaker listing (buy/sell/trade/auction)
  • Implement search bar with ChatGPT-Turbo-3 for shoe recommendations

Testing and QA

  • Set up CI/CD pipeline for automated testing
  • Perform unit and integration tests
  • Conduct user acceptance testing

Beta Release

  • Launch beta version

Full Release

  • Implement final adjustments and fixes
  • Launch full version to the public

See the open issues for a full list of proposed features (and known issues).

(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.

(back to top)

Contact

Markus Chmiel - mchmiel000@citymail.cuny.edu

Melido Bello - mbellon000@citymail.cuny.edu

Devin Munoz - dmunoz005@citymail.cuny.edu

Project Link: https://github.com/MarkusCDev/CSC473-GroupProject

(back to top)

Acknowledgments

(back to top)

About

Online selling/buying/trading ecommerce platform. Combining features from ebay. stockx, goat, and tradeblock.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages