Skip to content

darkovrbaski/items_marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation



Items marketplace

Marketplace with orderbooks, buy/sell items platform.




🟒 Code Status β€’ ✨ Features β€’ πŸ›οΈ Architecture β€’ πŸ“¦ Installation β€’ πŸ“± Technologies Stack β€’ πŸ“· Screenshots β€’ πŸ“ƒ Docs


Home Page

🟒 Code Status

✨ Features

  • Easily view and search market items

  • Automaticly make trades on one click

  • Manage inventory and wallet funds

  • Track personal order history

  • Fast load public images and secured user images

πŸ›οΈ Architecture

πŸ“¦ Installation

Backend

  1. Clone the repository.

  2. Make sure you have Terraform installed and provided IAM credentials to authenticate the Terraform AWS provider.

  3. Change directory to infrastructure/aws_resorces/.

  4. Run next two commands to generate required Cloudfront key group keys.

  openssl genrsa -out private_key.pem 2048
  openssl rsa -pubout -in private_key.pem -out public_key.pem
  1. Run terraform init then terraform apply --auto-aprove to provision S3 and Cloudfronts on AWS.

Docker

  1. Make sure you have docker installed and running. You will also need docker-compose.

  2. Change directory to infrastructure/

  3. Fill out the values in the .env file with outputs from terraform provisioned resorces.

  4. Run docker-compose up. This should build the docker image and start the container and Postgres DB running.

  5. Head over to http://localhost:8080/docs (or a different port if you changed it) to make sure that backend Spring Boot application is running.

IDE

  1. Open Spring Boot application in your IDE located in items-marketplace/

  2. Set environment variables:

    • APP_PORT
    • HTTP_PORT
    • SSL_PASSWORD
    • POSTGRES_DB_URL
    • POSTGRES_DB_USERNAME
    • POSTGRES_DB_PASSWORD
    • FRONTEND_URL
    • STRIPE_SECRET_KEY
    • STRIPE_ENDPOINT_SECRET
    • JWT_SECRET (generate encryption key)
    • S3_BUCKET_NAME (terraform output)
    • CLOUDFRONT_DOMAIN_PUBLIC (terraform output)
    • CLOUDFRONT_DOMAIN_PRIVATE (terraform output)
    • KEY_PAIR_ID (terraform output)
    • PRIVATE_KEY_NAME (terraform output)
  3. Execute the main method in the me.darkovrbaski.items.marketplace.ItemsMarketplaceApplication class.

  4. Head over to http://localhost:8080/docs (or a different port if you changed it) to make sure that backend Spring Boot application is running.

Frontend

  1. Change directory to angular-app/.

  2. Install the dependencies npm install.

  3. Run the Angular application npm start.

  4. Head over to http://localhost:4200/ and feel free to register and explore the application.

πŸ“± Technologies Stack

Tech Stack

πŸ“· Screenshots

Login Page

Login Page

Market Page

Market Page

Orderbook Page

Orderbook Page

Place Buy Order

Place Buy Order

Inventory Page

Inventory Page

Place Sell Order

Place Sell Order

Wallet Page

Wallet Page

Orders Page

Orders Page

Order Page

Order Page

Profile Page

Profile Page

πŸ“ƒ Docs

Class Diagram

Class Diagram



πŸ”Ό Back to top