Skip to content

Austin616/UT-Marketplace-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

64 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🀘 UT Marketplace

Your campus marketplace awaits - Connect with fellow Longhorns to buy, sell, and discover amazing deals right on campus.

A React Native mobile application built with Expo that provides University of Texas students with a dedicated platform for buying and selling items within the campus community.

✨ Features

πŸͺ Marketplace Core

  • Browse & Search - Discover items with advanced filtering by category, price, condition, and more
  • Create Listings - Post items for sale with photos, descriptions, and pricing
  • Categories - Organized sections including Furniture, Tech, Books, Clothing, Housing, and more
  • Real-time Updates - Live notifications for favorites, messages, and listing interactions

πŸ’¬ Communication

  • In-App Messaging - Direct chat with buyers and sellers
  • Push Notifications - Stay updated on messages and listing activity
  • User Ratings - Rate and review your trading partners

πŸ‘€ User Experience

  • Personalized Feed - Recent listings and recommendations
  • Favorites & Watchlist - Save items you're interested in
  • User Profiles - View seller history and ratings
  • Authentication - Secure login and registration system

🎨 Design & UX

  • UT-Themed UI - Burnt orange color scheme matching UT branding
  • Intuitive Navigation - Tab-based navigation with modal flows
  • Responsive Design - Optimized for both iOS and Android
  • Haptic Feedback - Enhanced user interactions

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Expo CLI
  • iOS Simulator (for iOS development) or Android Studio (for Android development)
  • Supabase account for backend services

Installation

  1. Clone the repository

    git clone <repository-url>
    cd ut-marketplace-app
  2. Install dependencies

    npm install
  3. Set up environment variables Create a .env file in the root directory:

    EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
    EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  4. Start the development server

    npm start

Development Commands

# Start development server
npm start

# Run on iOS simulator
npm run ios

# Run on Android emulator
npm run android

# Build for development
npm run build:dev

# Build for production
npm run build:prod

# Lint code
npm run lint

# Format code
npm run format

πŸ—οΈ Tech Stack

Frontend

  • React Native - Mobile app framework
  • Expo - Development platform and toolchain
  • Expo Router - File-based routing system
  • TypeScript - Type-safe JavaScript
  • NativeWind - Tailwind CSS for React Native
  • Zustand - State management
  • Lucide React Native - Icon library

Backend & Services

  • Supabase - Backend-as-a-Service
  • PostgreSQL - Database (via Supabase)
  • Real-time subscriptions - Live updates
  • Row Level Security - Data protection

Development Tools

  • ESLint - Code linting
  • Prettier - Code formatting
  • EAS Build - Cloud builds
  • Expo Dev Client - Custom development builds

πŸ“± App Structure

app/
β”œβ”€β”€ (auth)/          # Authentication screens
β”œβ”€β”€ (tabs)/          # Main tab navigation
β”œβ”€β”€ (modals)/        # Modal screens
β”œβ”€β”€ chat/            # Messaging system
β”œβ”€β”€ listing/         # Listing details
└── ...

components/
β”œβ”€β”€ ui/              # Reusable UI components
β”œβ”€β”€ forms/           # Form components
β”œβ”€β”€ layout/          # Layout components
β”œβ”€β”€ listing/         # Listing-specific components
└── modals/          # Modal components

lib/
β”œβ”€β”€ supabase.ts      # Database configuration
β”œβ”€β”€ notifications.ts # Notification services
└── ...

contexts/
β”œβ”€β”€ AuthContext.tsx  # Authentication state
└── ...

🎯 Key Features Implementation

Authentication & Security

  • Supabase Auth integration
  • Row Level Security (RLS) policies
  • Email-based authentication
  • Secure user sessions

Real-time Features

  • Live chat messaging
  • Push notifications
  • Real-time listing updates
  • Instant favorite/watchlist sync

Data Management

  • PostgreSQL with Supabase
  • Optimistic UI updates
  • Image upload and storage
  • Advanced search and filtering

UI/UX Excellence

  • UT brand compliance
  • Smooth animations and transitions
  • Haptic feedback integration
  • Responsive design patterns

πŸ”§ Configuration

Expo Configuration

The app uses Expo with custom development builds enabled. Key configurations:

  • File-based routing with Expo Router
  • TypeScript paths for clean imports
  • Custom splash screen and icons
  • Platform-specific configurations

Database Schema

  • Users and authentication
  • Listings with categories and images
  • Messaging system
  • Favorites and watchlist
  • Ratings and reviews
  • Push notification tokens

πŸš€ Deployment

Development Build

npm run build:dev

Production Build

npm run build:prod

The app is configured for deployment through EAS Build with separate profiles for development, preview, and production environments.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Standards

  • Follow TypeScript best practices
  • Use ESLint and Prettier for code formatting
  • Write meaningful commit messages
  • Ensure all features work on both iOS and Android

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Built with ❀️ for the University of Texas community

πŸ™ Acknowledgments

  • University of Texas for the inspiration
  • Expo team for the amazing development platform
  • Supabase for the backend infrastructure
  • The React Native community

Hook 'em Horns! 🀘

About

A modern, full-featured marketplace mobile application for the UT Austin community. Built with React Native, Supabase, Expo Go and Tailwind CSS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages