Skip to content

ildomm/graphql-kalender

Repository files navigation

📅 GraphQL Kalender

Ruby Rails GraphQL PostgreSQL License

A modern calendar application built with GraphQL, aggregating events from multiple sources with powerful search capabilities.

Getting StartedFeaturesDevelopmentGraphQL API

✨ Features

  • 🔍 Advanced event search and filtering
  • 📊 GraphQL-powered API
  • 🔄 Automatic event imports
  • 📱 Responsive design
  • 🔒 Secure data handling

🚀 Getting Started

Prerequisites

  • Ruby 2.7+
  • PostgreSQL
  • Make

Quick Setup

# Install and setup everything
make setup

# Start the server
make server

# Open in browser
make open

💻 Development

# Show all available commands
make help

# Common tasks
make test    # Run test suite
make lint    # Check code style
make clean   # Clean temporary files and logs

Event Import

# Setup automatic imports
make cron

# Manual import
make import

📈 GraphQL API

Event Queries

# Get latest events
{
  allEvents(
    first: 10,
    orderBy: "createdAt_DESC"
  ) {
    id
    title
    startAt
    url
  }
}

# Search with filters
{
  allEvents(
    first: 10,
    filter: {
      titleContains: "Conference",
      startAtAfter: "2025-01-01"
    }
  ) {
    id
    title
    startAt
    url
  }
}

# Complex search
{
  allEvents(
    first: 10,
    filter: {
      titleContains: "Tech",
      OR: {
        urlContains: "conference"
      }
    }
  ) {
    id
    title
    startAt
    url
  }
}

🛠 Available Commands

Command Description
make setup Complete project setup
make server Start development server
make test Run test suite
make lint Check code style
make clean Clean temporary files and logs
make cron Setup automatic event imports
make import Manual event import

📚 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create your 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

📝 License

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

About

Code challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published