Skip to content

CSC105-2024/G15-stylofi-PreHack-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 Stylofi

A fashion-focused social platform similar to Pinterest, where users can discover, share, and organize fashion inspiration. Stylofi leverages Google Cloud Vision API to automatically validate and categorize fashion-related content, ensuring a curated experience for fashion enthusiasts.

📷 Screenshots

Fashion Feed

Fashion Feed Discover and browse curated fashion content

Post Creation with AI Validation

Create Post Upload fashion images with automatic validation using Google Cloud Vision API

User Profile

User Profile Organize your fashion inspiration and manage your posts

🚀 Getting Started

Clone the repository:

git clone https://github.com/CSC105-2024/G15-stylofi-PreHack-2025.git
cd G15-stylofi-PreHack-2025

🔨 Frontend - React

🔧 Tech Stack

  • React
  • Axios
  • React Router DOM
  • Tailwind CSS, shadcn/ui
  • Other dependencies...

🚀 Getting Started - React Client

Navigate to the frontend directory:

cd frontend

Install dependencies:

npm install

Start the development server:

npm run dev

The client will be running on http://localhost:5173.

🔧 Backend - Node.js

🛠️ Tech Stack

  • Node.js
  • Hono (Web framework)
  • Prisma (Database ORM)
  • PostgreSQL / MySQL (Database)
  • JWT (Authentication)
  • Cloudinary (Image storage)
  • Google Cloud Vision API (Image validation)
  • Nodemailer (Email service)

🔌 API Endpoints

Authentication Routes (/auth)

Method Endpoint Description
GET /auth/check Check authentication status
POST /auth/signup Create a new user account
POST /auth/verify-otp Verify OTP for account activation
POST /auth/resend-otp Resend OTP for verification
POST /auth/signin Sign in user
POST /auth/refresh Refresh authentication token
POST /auth/signout Sign out user
GET /auth/me Get logged-in user information (requires auth)
GET /auth/username/:id Get username by user ID
PUT /auth/update Update user profile (requires auth)
GET /auth/:id Get user by ID

Post Routes (/posts)

All post routes require authentication

Method Endpoint Description
GET /posts/ Get all posts
GET /posts/user Get all posts by current user
GET /posts/:id Get specific post by ID
GET /posts/:id/like-status Check if current user liked the post
POST /posts/validate-image Validate image for post
POST /posts/create Create a new post
PUT /posts/:id Update existing post
PUT /posts/:id/like Like a post
PUT /posts/:id/unlike Unlike a post
DELETE /posts/:id Delete a post

🚀 Getting Started - Node.js Server

Navigate to the backend directory:

cd backend

Install dependencies:

npm install

Create a .env file and configure the following variables:

# Database Configuration
DATABASE_URL=your_database_url
# Only needed if using Prisma with migrations
SHADOW_DATABASE_URL=your_shadow_database_url

# JWT and Cookie Secrets
JWT_SECRET_KEY=your_jwt_secret_key
SECRET_COOKIE=your_secret_cookie

# Cloudinary Configuration
CLOUD_NAME=your_cloudinary_name
CLOUD_PRESET=your_cloudinary_preset
CLOUD_API_KEY=your_cloudinary_api_key
CLOUD_API_SECRET=your_cloudinary_api_secret

# Google Cloud Vision API
GOOGLE_CLOUD_KEY=your_google_vision_api_key

# Google App Password (for SMTP mailing)
GOOGLE_APP_PASSWORD=your_google_app_password

Start the development server:

npm run dev

The server will be running on http://localhost:3000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •