Skip to content

codingzilin/fixture-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ† Fixtures Platform πŸ†

A modern web application for managing and searching sports fixtures, built with Next.js and MongoDB.

image

✨ Features

  • πŸ“Š CSV Upload: Upload and parse CSV files containing sports fixture data
  • πŸ” Real-time Search: Search for fixtures by team name with instant results
  • πŸ“‹ Detailed View: Click on fixtures to see detailed information
  • πŸ“± Responsive Design: Works seamlessly on desktop and mobile devices
  • 🎨 Modern UI: Enhanced with animations and visual effects

πŸ› οΈ Tech Stack

  • πŸš€ Frontend: Next.js 15, React 19, Tailwind CSS
  • πŸ”Œ Backend: Next.js API routes
  • πŸ—„οΈ Database: MongoDB with Mongoose
  • πŸ’… Styling: Tailwind CSS, shadcn/ui components
  • ✨ Animation: Motion.js for smooth transitions and effects
  • πŸ“Š Data Parsing: PapaParse for CSV handling

πŸš€ Getting Started

πŸ“‹ Prerequisites

  • Node.js 18.17.0 or later
  • MongoDB database (local or Atlas)

βš™οΈ Environment Setup

Create a .env.local file in the root of the project with the following variables:

MONGODB_URI=your_mongodb_connection_string

πŸ’» Installation

  1. Clone the repository
git clone https://github.com/your-username/fixture-app.git
cd fixture-app/frontend
  1. Install dependencies
npm install
  1. Run the development server
npm run dev
  1. Open http://localhost:3000 in your browser

🏭 Building for Production

npm run build
npm start

πŸ“ Project Structure

frontend/
β”œβ”€β”€ public/              # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/             # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ api/         # API Routes
β”‚   β”‚   β”œβ”€β”€ components/  # Page-specific components
β”‚   β”‚   β”œβ”€β”€ search/      # Search page
β”‚   β”‚   └── page.tsx     # Home page
β”‚   β”œβ”€β”€ components/      # Shared components
β”‚   β”‚   β”œβ”€β”€ animate-ui/  # Animation components
β”‚   β”‚   β”œβ”€β”€ motion-primitives/ # Motion components
β”‚   β”‚   └── ui/          # UI components
β”‚   β”œβ”€β”€ hooks/           # Custom React hooks
β”‚   β”œβ”€β”€ lib/             # Utilities and libraries
β”‚   β”œβ”€β”€ models/          # MongoDB models
β”‚   └── types/           # TypeScript type definitions
└── ...config files

🚒 Deployment

This project is deployed on Vercel: https://fixture-app.vercel.app/

πŸ“ CSV Format

The application expects CSV files with the following columns:

  • πŸ†” fixture_mid: Unique identifier for each fixture
  • πŸ“… season: Season year
  • πŸ† competition_name: Name of the competition
  • ⏰ fixture_datetime: Date and time of the fixture
  • πŸ”„ fixture_round: Round number
  • 🏠 home_team: Home team name
  • 🚌 away_team: Away team name

πŸ™ Acknowledgements

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published