Skip to content
kushkrgPublic

About

AthCircle is a full-stack sports management and social networking application built with Next.js 15 (App Router), PostgreSQL, Prisma, and Tailwind CSS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AthCircle - Sports Networking Platform

AthCircle is a comprehensive sports networking platform that connects athletes, teams, and venue owners. Think of it as "LinkedIn meets sports" - a place where players can find teammates, teams can recruit talent, and venues can manage bookings.

AthCircle

🎯 Features

For Players

  • Profile Management: Create detailed sports profiles with skills, experience, and achievements
  • Discovery: Find other players, teams, and venues in your area
  • Connections: Network with other athletes and build your sports community
  • Match Finding: Find and join matches or create your own
  • Messaging: Direct messaging with other players

For Teams

  • Team Management: Create and manage your sports team
  • Recruitment: Find and recruit talented players
  • Match Scheduling: Organize matches with other teams
  • Member Management: Manage team roster and roles

For Venue Owners

  • Venue Listing: List your sports facilities
  • Slot Management: Create and manage booking slots
  • Booking Management: Handle booking requests and confirmations
  • Analytics: Track venue performance and bookings

πŸ› οΈ Tech Stack

  • Frontend: Next.js 14+ with App Router, React, TypeScript
  • Styling: Tailwind CSS with custom theme
  • Database: PostgreSQL with Prisma ORM
  • Authentication: JWT-based authentication
  • Validation: Zod schemas
  • Icons: Lucide React

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/athcircle.git
    cd athcircle
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env

    Update .env with your database credentials:

    DATABASE_URL="postgresql://user:password@localhost:5432/athcircle"
    JWT_SECRET="your-super-secret-jwt-key"
    
  4. Set up the database

    # Generate Prisma client
    npx prisma generate
    
    # Run migrations
    npx prisma migrate dev
    
    # Seed the database (optional)
    npx prisma db seed
  5. Start the development server

    npm run dev
  6. Open the app Navigate to http://localhost:3000

πŸ“ Project Structure

athcircle/
β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ (auth)/            # Auth pages (login, register)
β”‚   β”œβ”€β”€ (dashboard)/       # Dashboard pages
β”‚   β”‚   β”œβ”€β”€ bookings/
β”‚   β”‚   β”œβ”€β”€ connections/
β”‚   β”‚   β”œβ”€β”€ dashboard/
β”‚   β”‚   β”œβ”€β”€ discover/
β”‚   β”‚   β”œβ”€β”€ matches/
β”‚   β”‚   β”œβ”€β”€ messages/
β”‚   β”‚   β”œβ”€β”€ notifications/
β”‚   β”‚   └── settings/
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ bookings/
β”‚   β”‚   β”œβ”€β”€ connections/
β”‚   β”‚   β”œβ”€β”€ matches/
β”‚   β”‚   β”œβ”€β”€ messages/
β”‚   β”‚   β”œβ”€β”€ notifications/
β”‚   β”‚   β”œβ”€β”€ players/
β”‚   β”‚   β”œβ”€β”€ sports/
β”‚   β”‚   β”œβ”€β”€ teams/
β”‚   β”‚   └── venues/
β”‚   └── page.tsx           # Landing page
β”œβ”€β”€ components/            # React components
β”‚   └── ui/               # Reusable UI components
β”œβ”€β”€ lib/                   # Utility libraries
β”‚   β”œβ”€β”€ auth.ts           # Authentication helpers
β”‚   β”œβ”€β”€ prisma.ts         # Prisma client
β”‚   └── validations.ts    # Zod schemas
β”œβ”€β”€ prisma/               # Database
β”‚   β”œβ”€β”€ schema.prisma     # Database schema
β”‚   └── seed.ts           # Seed data
└── public/               # Static assets

πŸ”‘ Demo Accounts

After seeding the database, you can use these accounts:

Role Email Password
Player john.player@example.com password123
Player sarah.player@example.com password123
Team Manager mike.team@example.com password123
Venue Owner david.venue@example.com password123

🎨 Design System

Colors

  • Primary (Deep Navy Blue): #1E3A5F - Trust, professionalism
  • Secondary (Energetic Orange): #FF6B35 - Energy, action, sports
  • Accent (Teal): #4ECDC4 - Fresh, modern appeal
  • Success: #10B981
  • Warning: #F59E0B
  • Destructive: #EF4444

Typography

  • Headings: Montserrat (bold, modern)
  • Body: Inter (clean, readable)

πŸ“ API Endpoints

Authentication

  • POST /api/auth/register - Register a new user
  • POST /api/auth/login - Login user

Players

  • GET /api/players - List players with filters
  • GET /api/players/:id - Get player details
  • PATCH /api/players/:id - Update player profile

Teams

  • GET /api/teams - List teams
  • POST /api/teams - Create a team
  • GET /api/teams/:id - Get team details

Venues

  • GET /api/venues - List venues
  • POST /api/venues - Create a venue
  • GET /api/venues/:id - Get venue details

Bookings

  • GET /api/bookings - List bookings
  • POST /api/bookings - Create a booking
  • PATCH /api/bookings/:id - Update booking status

Matches

  • GET /api/matches - List matches
  • POST /api/matches - Create a match

Connections

  • GET /api/connections - Get user connections
  • POST /api/connections - Send connection request
  • PATCH /api/connections/:id - Accept/reject connection

Messages

  • GET /api/messages - Get conversations
  • POST /api/messages - Send a message

Notifications

  • GET /api/notifications - Get notifications
  • PATCH /api/notifications - Mark as read

πŸ§ͺ Development

Run development server

npm run dev

Build for production

npm run build

Run Prisma Studio (database GUI)

npx prisma studio

Reset database

npx prisma migrate reset

🀝 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

πŸ“„ License

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

πŸ™ Acknowledgments

  • Design inspiration from LinkedIn, Hudl, and modern sports apps
  • Icons by Lucide
  • UI components inspired by shadcn/ui

Built with ❀️ by the AthCircle Team

About

AthCircle is a full-stack sports management and social networking application built with Next.js 15 (App Router), PostgreSQL, Prisma, and Tailwind CSS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages