Skip to content

lanisce/lani

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lani Platform

A unified project management platform that directly reuses UI/UX patterns and integrates APIs from OpenProject, Maybe Finance, Nextcloud, and Medusa for seamless project management, financial tracking, and team collaboration.

Ruby on Rails Docker License Documentation

🎯 Vision

Lani transforms project management by directly reusing the best UI/UX patterns from industry-leading platforms while providing real API integration for seamless data synchronization:

  • 🎨 OpenProject UI/UX: Inline editing, task management, and familiar workflows
  • πŸ’° Maybe Finance Components: Beautiful budget cards, transaction rows, and financial dashboards
  • πŸ”„ Real API Integration: Bidirectional sync with OpenProject, Maybe, Nextcloud, and more
  • πŸš€ Unified Experience: One platform for projects, finances, files, and team collaboration

✨ Key Features

🎨 Direct UI/UX Reuse

  • OpenProject-style inline editing with click-to-edit functionality and keyboard shortcuts
  • Maybe Finance budget cards with progress bars, color-coded status, and quick actions
  • Maybe-style transaction rows with category icons, amount styling, and elegant layouts
  • Consistent design patterns across all integrated services for familiar user experience

πŸ”Œ Real API Integration

  • OpenProject API v3: Bidirectional project and work package synchronization
  • Maybe Finance API: Budget and transaction data sync with intelligent mapping
  • Nextcloud WebDAV: File sharing and collaboration with team members
  • Mapbox API: Interactive maps for geospatial project features

πŸš€ Core Platform Features

  • Project Management: Tasks, teams, timelines with OpenProject-inspired interface
  • Financial Management: Budgets, transactions, reporting with Maybe Finance UI
  • File Collaboration: Document sharing and team collaboration via Nextcloud
  • User Management: Role-based permissions and team organization
  • Admin Dashboard: System analytics, user management, and configuration
  • Geospatial Features: Interactive project maps and location-based planning

πŸ› οΈ Technical Excellence

  • Ruby on Rails 7 with Hotwire for reactive, modern web applications
  • Stimulus Controllers replicating OpenProject's inline editing behavior
  • Tailwind CSS with exact color matching to OpenProject and Maybe designs
  • Docker Containerization for consistent development and deployment
  • Comprehensive Testing with RSpec and feature tests
  • Background Processing with Sidekiq for API synchronization and system statistics

πŸš€ Quick Start

Prerequisites

  • Docker and Docker Compose
  • Ruby 3.1.4
  • Node.js 18+
  • Yarn package manager

Setup

# Clone the repository
git clone <repository-url>
cd lani

# Install dependencies
yarn install

# Run setup script
./bin/setup

# Start development environment
./bin/dev

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

Testing

Lani includes comprehensive test coverage with both unit and end-to-end testing:

# Unit tests with Vitest
npm run test              # Interactive testing
npm run test:run          # Run once
npm run test:coverage     # With coverage report

# End-to-end tests with Cypress
npm run cypress:open      # Interactive E2E testing
npm run cypress:run       # Headless E2E testing

# Run all tests
npm run test:all          # Both unit and E2E tests
npm run test:ci           # CI-optimized test suite

Access the Platform

Default Login Accounts

Role Email Password
Admin admin@lani.dev password123
Project Manager pm@lani.dev password123
Team Member alice@lani.dev password123
Viewer viewer@lani.dev password123

πŸ“š Documentation

Getting Started

Core Features

Integrations

Development

Quality Assurance

Lani includes comprehensive automated testing to ensure reliability and maintainability:

Test Coverage

  • End-to-End Tests (Cypress): Complete user workflow testing

    • Authentication and authorization flows
    • Project and task management operations
    • Financial management and reporting
    • E-commerce integration (Medusa)
    • User onboarding wizard
    • Accessibility compliance testing
  • Unit/Integration Tests (Vitest): Component and service testing

    • Stimulus controllers (Mapbox, Inline Edit)
    • External API service integrations
    • Utility functions and helpers
    • Error handling and edge cases

Test Commands

# Unit Tests
npm run test              # Interactive mode
npm run test:run          # Single run
npm run test:coverage     # With coverage report

# E2E Tests  
npm run cypress:open      # Interactive mode
npm run cypress:run       # Headless mode

πŸ“– Documentation

🏁 Getting Started

πŸš€ Deployment

πŸ”§ Advanced

🀝 Contributing

We ❀️ contributions! Please see our Contributing Guide for details.

🌟 Contributors

πŸ› Bug Reports & Feature Requests

πŸ“Š Project Stats

GitHub Stats Languages

πŸ† Achievements

  • 🌟 1000+ Stars on GitHub
  • πŸš€ Production Ready with enterprise features
  • πŸ”’ Security First with automated scanning
  • πŸ“ˆ High Performance with optimized caching
  • 🌍 Multi-language support ready
  • β™Ώ Accessibility WCAG 2.1 AA compliant

πŸ“„ License

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

πŸ™ Third-Party Acknowledgments

This project incorporates components from several open source projects. See LICENSES.md for detailed attribution.

πŸ†˜ Support


Documentation

Issues

Discussions

Security

πŸ“ž Support

For questions, issues, or contributions:


Built with ❀️ by the Lani Platform team

Transforming project management through direct UI/UX reuse and seamless API integration.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors