Skip to content

Eventiva/Eventiva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

365 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

EVENTIVA

Open in GitHub Codespaces
Important
This project is in pre-alpha state. Code here is subject to massive change and is likely unstable. Only install if you know what you are doing.

Introduction

Welcome to the Eventiva repository. Eventiva is an open-source platform for Event Planning and Production logistics. We have created a custom-built directory focused on indexing, marketing and connecting event specialist Vendors, Venues and professionals. We then connected this to our innovative tools for event production planning which include scheduling, itinerary, task management, contact management, warehousing ticket sales, interactive site maps, online and in-person sales solutions, accounting, payroll and human resources.

Why do we exist?

When surveyed, the industry revealed that over fifty-five percent of events did not have a management tool of any form. The remaining forty percent are split across solutions designed and implemented for office environments. Software like Flock and Excel barely cover the toolset which managers require to be effective in the preproduction sections of their work. While fifty-five percent of events did not have management tools, a full eighty percent of individuals surveyed believed that schedulers, task lists and other management tools would be helpful to their ongoing operations.

What is Eventiva Gaming

Eventiva Gaming is born out of the desire to create the best tools for our industry. While gaming is an unusual route, we believe that the gaming industry, specifically role play communities, is a perfect fit for testing, developing and improving our tools. Within the Role Play Communities, there are may teams which need to coordinate, manage and plan digital events with the exact same requirements as physical events. We believe that by working with these communities we can create a better product for everyone.

For instance, the Eventiva Gaming team developed the initial version of the Fleet Management module. They designed it to manage the distribution, maintainance and deployment of vehicles within Emergency Service role play. Those same key features are now being used to manage the distribution, maintainance and deployment of vehicles within the events industry.

Why open-source?

We believe in the power of community development, while our tools are designed and marketted for event planning, they can be utilised by organisations planning all variations of projects, we believe that through keeping our tools open-source we can connect with amazing developers who can contribute in ways we simply cannot fathom.

How to get support 👨‍👩‍👧‍👦

For Features Requests, Q&A, Show & Tell and Discussions please use our discussion page 🚑.

We have a FAQ label in our discussion page where you can get quick answers, help with debugging weird issues, and general help.

Our extensive documentation can be found at here.

Contributing

Thank you for taking an interest in contributing. We have created development containers (.devcontainer) to allow you to jump straight in with coding. Everything is configured and ready to go, all you need to do is use one of the supported platforms: VSCode

This project utilises the Smartcloud Project to automate our workflow, alongside provide templates for issues and pull requests. If you want to learn more about precisely what this workflow accomplishes, please check out the documentation here.

Eventiva is built on the following main stack:

  • Node.js Node.js — Runtime Environment

  • TypeScript TypeScript — Languages

  • Nx Nx — Monorepo & Build System

  • GitHub Actions GitHub Actions — Continuous Integration

  • Vitest Vitest — Testing Framework

  • OpenAI OpenAI — Large Language Models

  • Docker Docker — Virtual Machine Platforms & Containers

Full tech stack here

For more information on contributing, please read the [contributing guidelines].

Backlog

You can access our backlog on our JetBrains Space found here:

Running Locally & Developing

Prerequisites

  • Node.js 20 or later

  • pnpm 9.14.2 (or compatible version)

  • Git

You can choose one of the following methods to get your development platform configured:

Open in GitHub Codespaces

GitHub Codespaces provides cloud-hosted development environments for any activity - whether it’s a long-term project, or a short-term task like reviewing a pull request. You can connect to Codespaces from Visual Studio Code or a browser-based editor that’s accessible anywhere. Download the VSCode extension here.

Devcontainer Method

The Dev Container lets you use a Docker container as a full-featured development environment. Whether you deploy to containers or not, containers make a great development environment because you can:

  • Develop with a consistent, easily reproducible toolchain on the same operating system you deploy to.

  • Quickly swap between different, separate development environments and safely make updates without worrying about impacting your local machine.

  • Try out new technologies or clone a copy of a code base without impacting your local setup.

Simply install the Dev containers extension, clone the repository to your local device, and choose the Open Devcontainer option.

The devcontainer includes: * Node.js 22 * pnpm 9.14.2 * Nx (installed globally) * PostgreSQL 16 (service postgres, port 5432)

See .devcontainer/README.md for more details.

Local Setup

If you prefer to set up locally without containers:

  1. Clone the repository:

    git clone https://github.com/Eventiva/eventiva.git
    cd eventiva
  2. Install dependencies:

    pnpm install
  3. Build all packages:

    pnpm nx run-many -t build
  4. Run linting:

    pnpm nx run-many -t lint
  5. Run type checking:

    pnpm nx run-many -t typecheck
  6. Run tests:

    pnpm nx run-many -t test

Tests Repository

Eventiva uses a separate tests repository (Eventiva/tests) for all test code. This separation ensures that implementation code is written without seeing test expectations, leading to more robust software that satisfies real contracts rather than just passing specific tests.

Important for AI-assisted development: * Never clone or initialize the tests repository when doing implementation work with AI tools. * The tests repository should only be accessed when: * Running tests locally * Writing or reviewing tests * Working in the test-runner devcontainer

For normal development work, keep the tests/ folder unpopulated (or use the development devcontainer which excludes tests). This ensures AI tools don’t use test code as context when implementing features.

See docs/learnings/tdd-and-test-creation.md for the full TDD policy.

Available Nx Commands

This project uses Nx for task orchestration. Common commands:

  • pnpm nx run-many -t build - Build all packages

  • pnpm nx run-many -t lint - Lint all packages

  • pnpm nx run-many -t typecheck - Type check all packages

  • pnpm nx run-many -t test - Run tests for all packages

  • pnpm nx run <project>:<target> - Run a specific target for a project (e.g., pnpm nx run core:build)

  • pnpm nx graph - Visualize the project dependency graph

For more information about Nx, see nx.dev.

Contributors ✨

Supporters & Sponsors

Sponsored by

Want to help build the next generation of event planning tools? We are looking for sponsors to help us grow and develop our tools.

Supported by

Jetbrains

JetBrains supports the development of this project through Licenses for Open Source Development.

About

Envision a future with effortless event planning and management

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

 
 
 

Contributors