A modern full-stack JavaScript application built with Node.js, React, PostgreSQL, and Sequelize in a monorepo architecture.
- Runtime: Node.js 20+
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL 16+
- ORM: Sequelize
- Caching: Redis (optional)
- Authentication: JWT
- Testing: Vitest
- Validation: Joi/Zod
- Framework: React 18+
- Language: TypeScript
- Build Tool: Vite
- State Management: Zustand + React Query
- Routing: React Router v6
- Testing: Vitest + React Testing Library
- Styling: CSS (Tailwind-ready)
- Monorepo: pnpm workspaces
- Containerization: Docker + Docker Compose
- CI/CD: GitHub Actions
- Code Quality: Biome
- Version Control: Git with conventional commits
rituality-platform/
βββ .claude/ # Claude Skills configuration
βββ apps/
β βββ backend/ # Node.js/Express API
β βββ frontend/ # React + TypeScript SPA
βββ packages/ # Shared packages
β βββ shared-types/ # TypeScript types
β βββ shared-utils/ # Utility functions
β βββ biome-config/ # Biome config
βββ docker/ # Docker configuration
βββ docs/ # Documentation
βββ .github/workflows/ # CI/CD pipelines
βββ package.json # Root package.json
- Node.js 20+
- pnpm 8+
- PostgreSQL 16+
- Redis (optional)
# Clone the repository
git clone <repository-url>
cd rituality-platform
# Install dependencies
pnpm install
# Copy environment files
cp .env.example .env
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env
# Start development servers
pnpm devThat's it! The application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
For detailed setup instructions, see Development Setup Guide
pnpm dev # Start both apps (dev mode)
pnpm build # Build all apps
pnpm test # Run all tests
pnpm test:coverage # Generate coverage reports
pnpm lint # Lint all code
pnpm format # Format codepnpm --filter backend dev # Start backend
pnpm --filter backend test # Run tests
pnpm --filter backend db:migrate # Run migrations
pnpm --filter backend db:seed # Seed databasepnpm --filter frontend dev # Start frontend
pnpm --filter frontend test # Run tests
pnpm --filter frontend build # Build for productionUsing Docker is recommended for development:
# Start all services (PostgreSQL, Redis, Backend, Frontend)
docker-compose -f docker/docker-compose.yml up -d
# View logs
docker-compose -f docker/docker-compose.yml logs -f
# Stop services
docker-compose -f docker/docker-compose.yml down# Run all tests
pnpm test
# Run tests for specific app
pnpm --filter backend test
pnpm --filter frontend test
# Generate coverage reports
pnpm test:coverage
# Run tests in watch mode
pnpm --filter backend test:watch- Development Setup - Local development guide
- Deployment Guide - Production deployment
- Claude Skills - AI-assisted development
- API Documentation - API reference (coming soon)
This project follows world-class best practices:
- MVC + Service Layer pattern
- RESTful API design
- TypeScript strict mode for type safety
- Comprehensive error handling
- Input validation on all endpoints
- Transaction management for data integrity
- Migration-based schema management
- Feature-based component organization
- Custom hooks for logic reuse
- Context API for global state
- React Query for server state
- Optimized performance with code splitting
- TypeScript for all components
- Responsive design ready
- Shared types between backend and frontend
- Unified code quality standards
- Simplified dependency management
- Atomic commits across packages
- Faster development with tooling
- JWT authentication with refresh tokens
- Rate limiting on public endpoints
- CORS policies configured
- Helmet.js for security headers
- Input validation and sanitization
- Password hashing with bcrypt
- Environment variables for secrets
- SQL injection prevention (Sequelize)
# Build production images
docker build -f docker/Dockerfile.backend -t rituality-backend:latest .
docker build -f docker/Dockerfile.frontend -t rituality-frontend:latest .
# Run with Docker Compose
docker-compose -f docker/docker-compose.prod.yml up -dSee Deployment Guide for detailed instructions.
We welcome contributions! Please follow our guidelines:
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Commit with conventional commits:
git commit -m "feat: add feature" - Push to your branch:
git push origin feat/your-feature - Open a Pull Request
We use conventional commits:
feat:- New featurefix:- Bug fixrefactor:- Code refactoringdocs:- Documentation changestest:- Adding/updating testschore:- Maintenance tasks
We maintain high code quality standards:
- 80%+ test coverage
- TypeScript strict mode
- Biome for linting and formatting
- Automated CI/CD checks
- Code review required
This project is licensed under the MIT License.
- Development Team
- Claude AI - Assisted development with Claude Skills
- Built with modern web technologies
- Inspired by industry best practices
- Powered by pnpm workspaces
Made with β€οΈ by the Rituality Platform Team
For questions or support, please open a GitHub Issue