Skip to content

johnnybinh/tryclothapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clone the repository

git clone https://github.com/johnnybinh/tryclothapp.git

Frontend

📱 Tryclothapp - React Native with Expo

A mobile application built with React Native and Expo, allowing fast development and testing across Android and iOS platforms.


📦 Install Dependencies

2.1. Open your terminal and run:

   npm install
   # Or, if you're using Yarn:
   yarn install

2.2 Run application

   yarn run start

2.3. Change URL

 If you run on local, please setting file .env "localhost"
 
 If you run on real device, please setting file .env "<YOUR_NETWORK_IP_ADDRESS>"

Backend

TryClothApp Microservices Project

Overview

This project is a microservices-based application for an e-commerce platform, built with Java, Spring Boot, and various supporting technologies. It includes the following services:

  • Authentication Service
  • Item Service
  • Profile Service
  • Email Notification Service
  • Payment Service
  • Search Service
  • API Gateway

Tech Stack

  • Java 17
  • Spring Boot 3.5.x
  • Spring Cloud Gateway
  • Maven
  • MySQL, MongoDB, Neo4j
  • MinIO (Object Storage)
  • Stripe (Payment)
  • Docker (optional for deployment)

Project Structure

  • api-gateway/ - API Gateway for routing and service aggregation
  • auth-service/ - Handles authentication and authorization
  • item-service/ - Manages items/products
  • profile-service/ - Manages user profiles
  • email-service/ - Handles email notifications
  • payment-service/ - Handles payment processing
  • search-service/ - Provides search functionality

Getting Started

Prerequisites

  • Java 17+
  • Maven 3.8+
  • MySQL, MongoDB, Neo4j, MinIO, Stripe account (for local development)
  • Docker (optional)

Environment Variables

All environment variables are defined in the .env file at the project root. Update the values as needed for your local setup.

Build and Run

  1. Run docker-compose.yml

    version: '3.8'
     services:
       authentication:
         image: mysql:8.0.36
         environment:
           MYSQL_ROOT_PASSWORD: ${AUTH_DB_PASSWORD}
           MYSQL_DATABASE: tryclothapp
         ports:
           - "3306:3306/tcp"
         restart: unless-stopped
     
       item-storage:
         image: quay.io/minio/minio
         ports:
           - "9000:9000"
           - "9001:9001"
         environment:
           - MINIO_ROOT_USER=${MINIO_USER}
           - MINIO_ROOT_PASSWORD=${MINIO_PASSWORD}
         volumes:
           - ./data:/data
         command: server /data --console-address ":9001"
     
       neo4j:
         image: neo4j:5
         container_name: neo4j-container
         environment:
           - NEO4J_AUTH=${PROFILE_DB_USERNAME}/${PROFILE_DB_PASSWORD}
         ports:
           - "7474:7474"
           - "7687:7687"
         volumes:
           - neo4j_data:/data
         restart: always
     
       mongodb:
         image: mongo:latest
         container_name: mongodb-container
         environment:
           - MONGO_INITDB_ROOT_USERNAME=${EMAIL_DB_USERNAME}
           - MONGO_INITDB_ROOT_PASSWORD=${EMAIL_DB_PASSWORD}
           - MONGO_INITDB_DATABASE=notification-service
         ports:
           - "27017:27017"
         volumes:
           - mongodb_data:/data/db
         restart: always
     volumes:
       neo4j_data:
       mongodb_data:
    
  2. Change the working directory for Item Service

    If you run in VSCode, please don't change.

    If you run in IntelliJ, please edit configuration and change it.

     /Users/<YOUR_DEVICE_NAME>/tryclothapp/services/item-services
    

About

A Mobile Clothing Ecommerce App Built With React Native + Spring Boot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •