Skip to content

hmhngx/dson-study-spaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏫 Dickinson Study Spaces

A full-stack web application to help Dickinson College students find and explore study spaces on campus, with interactive maps and building details.

ℹ️ Note: When using the website, please allow location permissions in your browser for the best experience. This enables features like sorting study spaces by distance from your current location.

🚀 Features

  • 🗺️ Interactive map with study space locations using Mapbox
  • 📍 View building details, including addresses, hours, and status
  • 📏 Sort study spaces by distance from your location
  • 🎨 Modern design system with Material 3 principles
  • 🎭 Glassmorphic UI components for content presentation
  • 🔧 Enhanced dropdown system with icons and animations
  • 💡 Interactive tooltips for enhanced user experience
  • 📝 Google Fonts integration (Inter & Poppins)
  • 📱 Responsive and user-friendly interface

🛠️ Tech Stack

  • Frontend: Next.js, React, Tailwind CSS
  • Backend: Node.js, Express
  • Mapping: Mapbox, Google Maps API (for geocoding)
  • Design System: Custom UI components with Material 3 design
  • Typography: Google Fonts (Inter, Poppins)
  • UI Components: Radix UI primitives with custom styling
  • Deployment: Vercel

🎨 Design System

Components

  • DesignSystemExample: Showcase of utility controls and content presentation patterns
  • DropdownExamples: Enhanced dropdown menus with Material 3 design
  • FontExample: Typography demonstration and font configuration guide

Design Principles

  • Utility Components: Solid backgrounds for maximum readability and accessibility
  • Content Components: Glassmorphic cards for modern, polished visual appeal
  • Typography: Inter for body text, Poppins for headings and UI elements
  • Tooltips: Interactive tooltips with glassmorphic styling for enhanced UX
  • Animations: Smooth 150ms transitions with hover micro-interactions

📦 Installation

Clone the repository:

git clone https://github.com/yourusername/dickinson-study-spaces.git
cd dickinson-study-spaces

Install dependencies for both frontend and backend:

Frontend:

cd front-end
npm install

Backend:

cd ../back-end
npm install

Start the development servers:

Backend:

cd back-end
npm run start

The backend should be running on http://localhost:3002.

Frontend:

cd front-end
npm run dev

Open http://localhost:3000 in your browser to view the app.

🏗️ Build for Production

Frontend:

cd front-end
npm run build

Backend:

The backend is a simple Node.js server and doesn't require a separate build step for production. Deploy it directly to Vercel (see Deployment section below).

🌐 Deployment

The app is deployed on Vercel with a single-domain setup for simplicity:

Deploy to Vercel:

Frontend:

cd front-end
vercel --prod

Backend:

cd back-end
vercel --prod

🎨 Customization

Fonts

The application uses Google Fonts with a flexible configuration system. To change fonts:

  1. Edit front-end/src/lib/fonts.js
  2. Update the FONT_CONFIG object
  3. Available fonts: Inter, Roboto, Open Sans, Lato, Nunito, Source Sans 3, Poppins, Montserrat

Design System

  • Utility components use solid backgrounds for maximum accessibility
  • Content components use glassmorphism for modern visual appeal
  • All components follow Material 3 design principles
  • Smooth animations and hover effects throughout

🤝 Contributing

Contributions are welcome! Please follow these steps:

  • Fork the repository
  • Create a new branch (git checkout -b feature-branch)
  • Commit your changes (git commit -m "Add new feature")
  • Push to your fork (git push origin feature-branch)
  • Submit a Pull Request

📝 Recent Updates

  • ✨ Added comprehensive design system with Material 3 principles
  • 🎭 Implemented glassmorphic UI components for content presentation
  • 🔧 Enhanced dropdown system with icons and smooth animations
  • 💡 Integrated interactive tooltips across all components
  • 📝 Integrated Google Fonts (Inter & Poppins) with flexible configuration
  • 🎨 Updated component styling with modern design patterns
  • 📱 Improved responsive design and accessibility
  • 🛠️ Added Radix UI tooltip primitives with custom glassmorphic styling

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published