MarketIO is an e-commerce product comparison platform that scrapes products in real-time across 5 different platforms - AliExpress, Amazon, EzBuy, Lazada and Qoo10.
- User authentication via the convential username and password, or via social platforms like Google
- Real-time product comparison across 5 different e-commerce platforms
- Watchlist for users to track specific products
- Clone this project using git clone:
git clone https://github.com/guilmola724/market-io-Django-Next.js.git
- Add a .env file in the root folder of this project with the following variables:
DJANGO_SECRET_KEY = "<any randomly generated string with 64 alphanumeric characters>"
DJANGO_JWT_SIGNING_KEY = "<any randomly generated string with 64 alphanumeric characters>"
DJANGO_JWT_ALGORITHM = HS512
DJANGO_JWT_LIFETIME = 14
DJANGO_BACKEND_URL = http://127.0.0.1:8000 ## change this to your backend production url upon deployment
DJANGO_DEBUG = True
GOOGLE_CLIENT_ID = "<your google project's client id>"
GOOGLE_CLIENT_SECRET = "<your google project's client secret>"
NEXTAUTH_URL = http://127.0.0.1:3000 ## change this to your frontend production url upon deployment
NEXTAUTH_SECRET = "<any randomly generated string with 64 alphanumeric characters>"
NEXTAUTH_BACKEND_URL = http://127.0.0.1:8000 ## should be same as DJANGO_BACKEND_URL
NEXTAUTH_PUBLIC_BACKEND_URL = http://127.0.0.1:8000 ## should be same as DJANGO_BACKEND_URL
- Install dependencies for both frontend and backend
- Front-end
- Navigate to the frontend directory:
cd frontend
- Install all frontend dependencies:
npm install
- Navigate to the frontend directory:
- Back-end
- Navigate to the backend directory:
cd backend
- Generate a python virtual environment:
python -m venv venv
- Activate the python virtual environment:
venv/Scripts/activate
- Install all backend dependencies:
pip install -r packages.txt
- Navigate to the project directory:
cd project
- Generate project migration files:
python manage.py makemigrations analytics products profiles scrapers search watchlists
- Migrate the project:
python manage.py migrate
- Create a new super user:
python manage.py createsuperuser
, follow the prompts provided
- Navigate to the backend directory:
- Front-end
- Build the static files for the Next.js frontend
- Navigate to the frontend directory:
cd frontend
- Generate an optimised production build:
npm run build
- Navigate to the frontend directory:
- Run the Next.js frontend:
npm run start
- Run the Django backend
- Navigate to the Django project directory:
cd backend/project
- Run the Django server:
python manage.py runserver
- Navigate to the Django project directory:
- Open the project in your browser (if you did not change the urls in the environment variables)
- Frontend:
127.0.0.1:3000
- Backend:
127.0.0.1:8000
- Frontend: