- Project Overview
- ✨ Features
- 🚀 Getting Started
- 🏗️ Architecture
- 🔧 Project Structure
- 📚 Documentation
- 🤝 Contributing
- 📄 License
- 🙏 Acknowledgments
- 🔒 NovaSanctum Security Integration - Advanced authentication and authorization
- 📊 Real-time Analytics - Monitor application performance and usage
- 🌐 Responsive Design - Works on desktop and mobile devices
- ⚡ Blazing Fast - Built with Vite for optimal performance
- 🔍 Type Safety - Full TypeScript implementation
- 📱 PWA Support - Installable on any device
- 🔧 Developer Experience - Comprehensive tooling and documentation
- Node.js 18+ (LTS recommended)
- PostgreSQL 14+
- pnpm 8+
- Git
-
Clone the repository
git clone https://github.com/luxcore/luxcore.git cd luxcore -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env # Update the .env file with your configuration -
Set up the database
pnpm run db:migrate pnpm run db:seed
Start the development servers:
# Start both frontend and backend in development mode
pnpm run dev
# Or start them separately
pnpm run dev:frontend
pnpm run dev:backendThe application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
- Prisma Studio: http://localhost:5555 (run
pnpm run db:studio)
Run the test suite:
# Run all tests
pnpm test
# Run frontend tests
pnpm run test:frontend
# Run backend tests
pnpm run test:backend
# Run tests with coverage
pnpm run test:coverageLuxCore follows a modern microservices architecture with a clear separation of concerns:
- Frontend: React 18 with TypeScript, Vite, and Tailwind CSS
- Backend: Node.js with Express and TypeScript
- Database: PostgreSQL with Prisma ORM
- Authentication: JWT with refresh tokens
- CI/CD: GitHub Actions
- Containerization: Docker + Docker Compose
LuxCore/
├── @docs/ # Source of truth documentation
├── backend/ # Backend services
│ ├── prisma/ # Database schema and migrations
│ ├── src/
│ │ ├── config/ # Configuration files
│ │ ├── controllers/ # Request handlers
│ │ ├── middleware/ # Express middleware
│ │ ├── models/ # Data models
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ └── utils/ # Utility functions
│ └── tests/ # Backend tests
├── frontend/ # Frontend application
│ ├── public/ # Static assets
│ └── src/
│ ├── assets/ # Images, fonts, etc.
│ ├── components/ # Reusable React components
│ ├── contexts/ # React contexts
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Page components
│ ├── services/ # API services
│ ├── styles/ # Global styles
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── .github/ # GitHub configurations
│ └── workflows/ # GitHub Actions workflows
├── .vscode/ # VS Code settings
├── docs/ # Generated documentation
└── scripts/ # Utility scripts
Comprehensive documentation is available at docs.luxcore.dev.
To run the documentation locally:
pnpm run docs:generate # Generate documentation
pnpm run docs:serve # Serve documentation locallyWe welcome contributions! Please read our Contributing Guide to get started.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- [NovaSanctum](https://novas Sanctum.dev) for the security framework
- Prisma for the amazing ORM
- Vite for the frontend tooling
- Tailwind CSS for the utility-first CSS framework
Made with ❤️ by the LuxCore Team