Maroik is a modern web application built with ASP.NET Core MVC, featuring a comprehensive set of tools for personal and business management. It includes features such as expense tracking, calendar management, bulletin boards, and role-based user management.
- Expense tracking and categorization
- Income recording
- Budget management
- Financial reports and analytics
- Export to CSV/Excel
- Daily/Weekly/Monthly calendar view
- Event creation and management
- Recurring events support
- Calendar sharing between users
- Event reminders
- Multiple board categories
- Post creation, editing, and deletion
- Comment system
- File attachments
- Search functionality
- Role-based access control (Admin/User)
- User profile management
- Session-based authentication
- Password management
- Login activity tracking
- User management
- System settings
- Backup management
- Log monitoring
- Analytics dashboard
- ASP.NET Core MVC 9.0
- Minimal APIs
- Hot Reload
- Improved performance
- Enhanced routing
- Better dependency injection
- PostgreSQL 17
- Entity Framework Core 9.0
- Improved query performance
- Better async support
- Enhanced change tracking
- RESTful API
- OpenAPI/Swagger integration
- API versioning
- Rate limiting
- Request validation
- Docker
- Multi-stage builds
- Container orchestration
- Environment isolation
- Authentication & Authorization
- Session Authentication
- JWT Authentication
- Role-based access control
- OAuth2/OpenID Connect
- Cross-Origin Resource Sharing (CORS)
- API Documentation
- Swagger/OpenAPI
- API Explorer
- API versioning support
- AdminLTE 3
- Bootstrap 5.3
- jQuery 3.7
- HTML5/CSS3
- JavaScript ES2024
- NonfactorGrid
- Chart.js 4.4
- Font Awesome 6
- DataTables
- SweetAlert2
- Visual Studio 2023
- JetBrains Rider
- Git
- Docker Compose
- Postman
Maroik/
├── Maroik.AI/ # AI-related features
├── Maroik.Common/ # Common data access and utilities
├── Maroik.Crontab/ # Scheduled tasks management
├── Maroik.DB/ # Database configuration
├── Maroik.DeployOps/ # Deployment scripts
├── Maroik.FileStorage/ # File storage management
├── Maroik.Log/ # Logging system
├── Maroik.SSL/ # SSL/TLS certificate management
├── Maroik.WebAPI/ # RESTful API endpoints
└── Maroik.WebSite/ # Frontend website
- .NET 9.0 SDK or later
- Docker and Docker Compose
- Visual Studio 2023 (Windows) or JetBrains Rider (Linux/Mac)
- Install Visual Studio 2023 or higher
- Open Maroik.sln
- Set docker-compose as startup project
- Press F5 to run in debug mode
- Install JetBrains Rider
- Start debug mode with docker-compose.debug.yml
- Configure mail settings in appsettings files
- Configure appsettings.Production.json with domain name and mail settings
- Set email credentials in DBBackup.sh and UploadFileBackup.sh
- Copy Maroik folder to /home/ubuntu/
- Open ports 80, 443, 5001
- Run Deploy.sh script
- ID: [email protected]
- Password: Pa$$w0rd
- ID: [email protected]
- Password: Pa$$w0rd
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a Pull Request
For issues and questions, please use the GitHub issue tracker.
This project is licensed under the MIT License - see the LICENSE file for details.
- All backup files are automatically sent via email and can overwrite upload folders and SQL script folders when needed.
- Mail account configuration is required for deployment.