Skip to content

losol/eventuras

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4,479 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eventuras knowledge management system

** Open Source Knowledge Stack and Event Management **

License: GPL v3

Eventuras is a complete open-source platform for content, knowledge, event and course management, built with modern technologies and best practices. The project provides a robust backend API, a responsive Next.js frontend, and a set of reusable libraries β€” all brought together in a modern monorepo architecture.


✨ Key Features

πŸš€ Apps: Core Products

  • apps/api β€” .NET Core REST API for event management
    • Complete event and registration system
    • User management with roles and access control
    • Payment integration and certificate generation
    • OpenAPI/Swagger documentation
  • apps/web β€” Next.js frontend for customers and administrators
    • Modern React-based user interface
    • Server-side rendering (SSR) for optimal performance
    • Separate interfaces for participants and organizers
    • Internationalization with next-intl
  • apps/historia β€” Upcoming knowledge focuses cms.
  • apps/dev-docs β€” Developer documentation website

πŸ“š Libs: Reusable Libraries

A powerful collection of shared libraries powering the Eventuras ecosystem:

  • @eventuras/event-sdk β€” TypeScript SDK for API integration
  • @eventuras/smartform β€” Intelligent form system with validation
  • @eventuras/ratio-ui β€” UI components and design system
  • @eventuras/fides-auth β€” Authentication and authorization
  • @eventuras/scribo β€” Markdown editor
  • @eventuras/markdown β€” Markdown processing and rendering
  • And more…

πŸ—οΈ Architecture

Eventuras is built as a monorepo with Turborepo and npm workspaces:

eventuras/
β”œβ”€β”€ apps/               # Main applications
β”‚   β”œβ”€β”€ api/            # .NET Core backend
β”‚   β”œβ”€β”€ web/            # Next.js frontend
β”‚   └── historia/       # Historical data
β”œβ”€β”€ libs/               # Shared libraries
β”‚   β”œβ”€β”€ sdk/            # TypeScript API client
β”‚   β”œβ”€β”€ smartform/      # Form system
β”‚   β”œβ”€β”€ ratio-ui/       # UI components
β”‚   └── ...             # More reusable packages
└── docs/               # Documentation

Technology stack:

  • Backend: Node, .NET Core, C#, Entity Framework Core, PostgreSQL
  • Frontend: Next.js 15, React 19, TypeScript 5.9
  • Styling: Tailwind CSS 4, React Aria Components
  • State Management: XState 5
  • Testing: Playwright, Storybook
  • CI/CD: GitHub Actions, Docker

πŸš€ Getting Started

Docker (Quickest Path)

Prerequisites: Docker

# Clone the repository
git clone https://github.com/losol/eventuras.git
cd eventuras

# Build and start the application
docker-compose up

The applications will be available at

  • Backend API HTTP: http://localhost:5000
  • Backend API HTTPS: https://localhost:5001
  • Backend API Swagger UI: http://localhost:5000/swagger - only available if ASPNETCORE_ENVIRONMENT=Development
  • Backend API Integration tests: https://localhost:5002

πŸ“– Documentation

  • Docs: Take a look at the docs folder
  • API Documentation: Available at /swagger when the backend is running
  • AI Agent Guides: Specialized instructions for AI-assisted development

πŸ“¦ Release Process

Eventuras uses Changesets for version management and automated deployments.

Creating a Release

In feature branches:

# 1. Make your changes
# 2. Create a changeset describing your changes
pnpm changeset

# 3. Commit and create PR
git add .
git commit -m "feat: your feature"
git push

After PR is merged to main:

# 1. Switch to main and pull latest
git checkout main
git pull

# 2. Run the release command (this does everything automatically)
pnpm release

The pnpm release command will:

  • βœ… Bump package versions based on accumulated changesets
  • βœ… Update CHANGELOGs
  • βœ… Commit version changes
  • βœ… Create git tags
  • βœ… Push to GitHub
  • βœ… Trigger automated deployments

Automated Deployments

  • @eventuras/api@* tags β†’ Deploy API to Azure
  • @eventuras/web@* tags β†’ Deploy web app to Vercel (prod-1 and prod-2)

Note: The packages @eventuras/api, @eventuras/web, and @eventuras/event-sdk have linked versions β€” they always bump together to the same version number.


🀝 Contributing

Contributions are welcome! Eventuras is open source, and we appreciate all forms of contributions β€” from bug fixes to new features.

See our Contributing Guide for detailed guidelines.


πŸ“œ License

This project is licensed under the GNU General Public License v3.0.

In short:

  • βœ… You may use, modify, and distribute the code
  • βœ… Commercial use is permitted
  • ⚠️ Changes must also be open source under GPL-3.0
  • ⚠️ You must include the license and copyright notices

πŸ™ Acknowledgments

Eventuras is developed and maintained by Losol AS and a dedicated community of contributors.

Built with: .NET, Next.js, PostgreSQL, React, TypeScript, Tailwind CSS, and many fantastic open-source libraries.


πŸ“¬ Contact & Support


Made with ❀️ to knowledge sharing.

About

Event and conference management system

Resources

License

Contributing

Stars

16 stars

Watchers

3 watching

Forks

Packages

 
 
 

Contributors