Skip to content

Repository files navigation

XIANZE 2026

A modern, production-ready event management system

Backend Frontend Database Docker


πŸ“– What is XIANZE?

Xianze is an annual technical fest that brings together students from colleges across the region to showcase their creativity, innovation, and technical expertise. Organized by the Mind bender's Association from Department of Software Systems and Computer Science (PG) Since 2011, Xianze features an exciting mix of technical and non-technical events aimed at encouraging participants to think critically and collaborate effectively. The event provides a platform for undergraduate and postgraduate students to present innovative ideas, compete in challenging events, and explore the latest trends in technology.

πŸ“– What is XIANZE EMS?

XIANZE EMS is an admin-only event management system designed for organizations that need to manage events, venues, and attendees. This repository contains the complete boilerplate for both the backend API and frontend application.

Key Features

  • πŸ” Admin-only authentication - Secure access for authorized administrators
  • πŸ“Š Event management - Create, update, and manage events (placeholder)
  • 🎨 Modern UI - Built with Next.js and Tailwind CSS
  • 🐳 Docker-ready - One-command deployment with Docker Compose
  • πŸ“ Comprehensive docs - Beginner-friendly documentation

πŸ—οΈ Repository Structure

xianze/
β”œβ”€β”€ backend/                 # NestJS API server
β”‚   β”œβ”€β”€ src/                 # Source code
β”‚   β”œβ”€β”€ docs/                # Backend-specific docs
β”‚   β”œβ”€β”€ Dockerfile           # Backend container
β”‚   └── *.md                 # Documentation files
β”‚
β”œβ”€β”€ frontend/                # Next.js web application
β”‚   β”œβ”€β”€ app/                 # App Router pages
β”‚   β”œβ”€β”€ docs/                # Frontend-specific docs
β”‚   β”œβ”€β”€ Dockerfile           # Frontend container
β”‚   └── *.md                 # Documentation files
β”‚
β”œβ”€β”€ docker-compose.yml       # Root orchestration
β”œβ”€β”€ .editorconfig            # Editor settings
β”œβ”€β”€ .prettierrc              # Code formatting
β”œβ”€β”€ .eslintignore            # Linting exclusions
β”œβ”€β”€ .husky/                  # Git hooks
└── README.md                # This file

πŸš€ Quick Start

Prerequisites

Before you begin, ensure you have the following installed:

Tool Version Purpose
Docker 20.10+ Container runtime
Docker Compose 2.0+ Container orchestration
Node.js 20+ Local development (optional)
Git 2.30+ Version control

Running with Docker (Recommended)

The easiest way to run XIANZE is with Docker Compose:

# Production
./deploy.sh prod

# Development
docker compose up -d        # Start backend + redis
cd frontend && bun run dev  # Start frontend locally

# Stop all services (keeps data)
docker compose down

# Stop and remove all data
docker compose down -v

πŸ’» Local Development

For development without Docker, see the individual READMEs:

🐳 Docker Architecture

XIANZE uses a multi-container architecture:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    xianze-network                           β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”‚
β”‚  β”‚    frontend     │────────▢│    backend      β”‚           β”‚
β”‚  β”‚    (Next.js)    β”‚         β”‚    (NestJS)     β”‚           β”‚
β”‚  β”‚    Port: 3000   β”‚         β”‚    Port: 5000   β”‚           β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                                       β”‚                     β”‚
β”‚                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”           β”‚
β”‚                              β”‚  sqlite-data    β”‚           β”‚
β”‚                              β”‚   (Volume)      β”‚           β”‚
β”‚                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Service Port Description
frontend 3000 Next.js web application
backend 5000 NestJS API server

πŸ“š Documentation

Backend Documentation

Document Description
README.md Getting started with the backend
ARCHITECTURE.md System design and patterns
CONTRIBUTING.md How to contribute
DEPLOYMENT.md Production deployment guide
SECURITY.md Security considerations
TROUBLESHOOTING.md Common issues and solutions

Frontend Documentation

Document Description
README.md Getting started with the frontend
ARCHITECTURE.md Component structure and patterns
CONTRIBUTING.md How to contribute
TROUBLESHOOTING.md Common issues and solutions

πŸ› οΈ Tech Stack

Backend

  • Framework: NestJS - Progressive Node.js framework
  • Database: SQLite - Lightweight, file-based database
  • ORM: TypeORM - TypeScript-first ORM
  • Language: TypeScript

Frontend

  • Framework: Next.js 14+ - React framework with App Router
  • Styling: Tailwind CSS - Utility-first CSS
  • Language: TypeScript

DevOps

  • Containerization: Docker + Docker Compose
  • Code Quality: ESLint + Prettier
  • Git Hooks: Husky + lint-staged

πŸ‘₯ Who is This For?

This repository is designed for:

  • Junior developers learning enterprise project structure
  • Teams needing a clean starting point for event management
  • DevOps engineers exploring Docker-based deployments
  • Architects evaluating NestJS + Next.js combinations

🀝 Contributing

We welcome contributions! Please read our contributing guides:

Quick Contribution Steps

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit with a clear message (git commit -m 'Add amazing feature')
  5. Push to your branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

πŸ“„ License

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


Built with ❀️ for the XIANZE community

About

XIANZE EMS is an admin-only event management system designed for organizations that need to manage events, venues, and attendees. This repository contains the complete boilerplate for both the backend API and frontend application.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages