Skip to content

Repository files navigation

coding.global-web

A full-stack web platform for the Coding Global Discord community. Features real-time chat, programming guides for 20+ languages, job marketplace, and Discord integration.

Features

  • Community Hub - Landing page with live Discord server statistics
  • Real-time Chat - Web-based chat with Discord authentication
  • Project Showcase - Display community member projects
  • Marketplace - Job board and developer board
  • Educational Resources - Programming guides for 20+ languages (JavaScript, Python, Rust, Go, Java, C++, and more)
  • Multi-language Support - English and German localization
  • Full-text Search - Search across all resources with Orama

Tech Stack

CategoryTechnology
FrameworkNext.js 16 (App Router)
FrontendReact 19, TypeScript, Tailwind CSS 4
BackendElysia with Eden Treaty
DatabasePostgreSQL + Drizzle ORM
AuthBetter Auth (Discord OAuth)
StateTanStack Query + Jotai
SearchOrama
i18nnext-intl

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/coding-global/coding.global-web.git
    cd coding.global-web
  2. Install dependencies:

    bun install
  3. Create a .env file with the required environment variables (see below)

  4. Run database migrations:

    bun run drizzle
  5. Start the development server:

    bun run dev

The app will be available at http://localhost:3000.

Environment Variables

Create a .env file in the project root:

# DatabaseDATABASE_URL=postgresql://user:password@localhost:5432/coding_global# Discord OAuthDISCORD_CLIENT_ID=your_client_idDISCORD_CLIENT_SECRET=your_client_secret# AuthBETTER_AUTH_SECRET=your_secret_key# URLsNEXT_PUBLIC_URL=http://localhost:3000NEXT_PUBLIC_BOT_URL=http://localhost:4000NEXT_PUBLIC_GUILD_ID=your_discord_server_id

Scripts

CommandDescription
bun run devStart development server
bun run buildBuild for production
bun run startStart production server
bun run drizzleGenerate database migrations
bun run resetReset database (dev only)
bun run lintRun ESLint
bun run formatFormat code with Prettier
bun run openapiGenerate API client from OpenAPI spec

Project Structure

src/
├── app/ # Next.js App Router
│ ├── [locale]/ # Internationalized routes
│ │ ├── (navbar)/ # Routes with navbar layout
│ │ └── (sidebar)/ # Routes with sidebar layout
│ └── api/ # API routes (Elysia)
├── components/ # React components
│ ├── elements/ # Basic UI components
│ ├── layout/ # Layout components
│ ├── pages/ # Page-specific components
│ └── ui/ # shadcn/ui components
├── hook/ # Custom React hooks
├── lib/ # Utilities and configuration
│ ├── db-schema/ # Drizzle database schemas
│ └── config/ # App configuration
├── server/ # Server-side route handlers
├── store/ # Jotai state stores
└── i18n/ # Internationalization config
public/
├── i18n/ # Translation files (en.json, de.json)
└── images/ # Static assets

Docker Deployment

Start the application with Docker Compose:

docker-compose up -d

This will start both the web application and a PostgreSQL database.

For production builds, the included multi-stage Dockerfile creates an optimized container image.

License

MIT

About

Web platform for the Coding Global Discord community - featuring programming guides, real-time chat, job marketplace, and project showcase.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages