Skip to content
forked from CaroCbd/sportify

⚽ Sportify - Connect with sports enthusiasts, join or create events, and discover training partners near youβ€”all through a Progressive Web App with geolocation features. 🌍

Notifications You must be signed in to change notification settings

filexf/sportify

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

428 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sportify - Your Social Platform for Sports πŸƒβ€β™‚οΈ ⚽

Sportify is an innovative web application designed to connect sports enthusiasts. It allows users to create and join sporting events, share their experiences, and find training partners in their area. Sportify is also a Progressive Web App, which means you can have it as a shortcut window on your phone homepage. It's not native but it has a lot of similar features.

Technologies Used πŸ› οΈ

Backend

  • Ruby on Rails 7.1.5 - Main web framework
  • PostgreSQL - Relational database
  • Devise - User authentication
  • Cloudinary - Media management
  • Geocoder - Geolocation services

Frontend

  • Hotwire (Turbo & Stimulus) - Dynamic interactions
  • Bootstrap 5.2 - CSS framework
  • SASS - CSS preprocessor
  • Mapbox GL - Interactive mapping
  • Importmap Rails - JavaScript asset management

Tools & Services

  • Docker - Containerization
  • Cloudinary - Image storage
  • PostgreSQL - Database
  • Action Cable - Real-time communication

Key Features ⭐

Sports Events Management 🎯

  • Event creation and management
  • Participation system
  • Event location mapping
  • Filtering by sport and location

Sports Social Network 🀝

  • Customized user profiles
  • Posts and comments
  • Like system
  • Personalized news feed

Geolocation Features πŸ—ΊοΈ

  • Sports facilities search
  • Interactive mapping
  • Distance calculation
  • Location-based suggestions

Responsive Interface πŸ“±

  • Mobile-first adaptive design
  • Smooth navigation
  • Performance optimization
  • Intuitive user interface

Project Structure πŸ“‚

app/
β”œβ”€β”€ assets/         # Static assets
β”œβ”€β”€ controllers/    # Business logic
β”œβ”€β”€ models/         # Data models
β”œβ”€β”€ views/          # Templates
β”œβ”€β”€ javascript/     # JS code
└── services/       # Business services

config/
β”œβ”€β”€ routes.rb       # Application routes
└── database.yml    # DB configuration

db/
└── schema.rb       # Database schema

Local Installation πŸ’»

  1. Clone the repository
git clone https://github.com/yourusername/sportify.git
cd sportify
  1. Install dependencies
bundle install
  1. Database setup
rails db:create db:migrate db:seed
  1. Environment variables Create a .env file in the project root:
CLOUDINARY_URL=your_cloudinary_url
MAPBOX_API_KEY=your_mapbox_key
  1. Start the server
rails server
  1. Access the application Open http://localhost:3000 in your browser

Mobile Mode πŸ“±

Because we only had 10 days, we didn't have time to make the app fully responsive, so you'll need to be on mobile:

  1. Open developer tools (F12)
  2. Click on the "Toggle device toolbar" icon (Ctrl+Shift+M)
  3. Select Galaxy S20+ from the dropdown menu (We made it to especially match this mobile screen size)

Developed with ❀️ by the Sportify Team

About

⚽ Sportify - Connect with sports enthusiasts, join or create events, and discover training partners near youβ€”all through a Progressive Web App with geolocation features. 🌍

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 50.1%
  • HTML 36.3%
  • SCSS 9.5%
  • JavaScript 3.1%
  • Other 1.0%