README.md 3,4 КБ
Newer Older
Radch-enko's avatar
Radch-enko включено в состав коммита
1
# Effective Office
Radch-enko's avatar
Radch-enko включено в состав коммита
2
## Overview
Radch-enko's avatar
Radch-enko включено в состав коммита
3
Effective Office is a comprehensive office management system designed to streamline workplace operations, resource management, and employee interactions. The project consists of a backend server and tablet clients that work together to create an efficient office environment.
Radch-enko's avatar
Radch-enko включено в состав коммита
4
5

## Features
Radch-enko's avatar
Radch-enko включено в состав коммита
6
7
8
9
10
11
12
13
14
15
- Resource booking and management
- Employee scheduling and coordination
- Office space optimization
- Cross-platform support (android, iOS)
- Secure authentication and authorization
- Real-time updates and notifications

## Architecture
The project follows a client-server architecture:
- **Backend**: Spring Boot application with PostgreSQL database
Radch-enko's avatar
Radch-enko включено в состав коммита
16
- **Clients**: Client applications and iOS tablet app
Radch-enko's avatar
Radch-enko включено в состав коммита
17
18
- **Deployment**: Docker-based containerization for easy deployment
- **Security**: Git hooks for leak detection to prevent sensitive information exposure
Radch-enko's avatar
Radch-enko включено в состав коммита
19
20
21
22

## Getting Started

### Prerequisites
Radch-enko's avatar
Radch-enko включено в состав коммита
23
24
- Git
- Docker and Docker Compose
Radch-enko's avatar
Radch-enko включено в состав коммита
25
- JDK 17 or higher
Radch-enko's avatar
Radch-enko включено в состав коммита
26
- Gitleaks (for development)
Radch-enko's avatar
Radch-enko включено в состав коммита
27

Radch-enko's avatar
Radch-enko включено в состав коммита
28
### Installation
Radch-enko's avatar
Radch-enko включено в состав коммита
29
30
1. Clone the repository:
   ```
Radch-enko's avatar
Radch-enko включено в состав коммита
31
   git clone https://github.com/your-organization/effective-office.git
Radch-enko's avatar
Radch-enko включено в состав коммита
32
33
34
   cd effective-office
   ```

Radch-enko's avatar
Radch-enko включено в состав коммита
35
2. Run the installation script to set up git hooks:
Radch-enko's avatar
Radch-enko включено в состав коммита
36
   ```
Radch-enko's avatar
Radch-enko включено в состав коммита
37
   ./scripts/install.sh
Radch-enko's avatar
Radch-enko включено в состав коммита
38
   ```
Radch-enko's avatar
Radch-enko включено в состав коммита
39
   This script installs a pre-commit hook that scans for potential secrets using Gitleaks.
Radch-enko's avatar
Radch-enko включено в состав коммита
40

Radch-enko's avatar
Radch-enko включено в состав коммита
41
3. Set up environment variables:
Radch-enko's avatar
Radch-enko включено в состав коммита
42
   ```
Radch-enko's avatar
Radch-enko включено в состав коммита
43
   cp deploy/dev/.env.example deploy/dev/.env
Radch-enko's avatar
Radch-enko включено в состав коммита
44
   ```
Radch-enko's avatar
Radch-enko включено в состав коммита
45
   Edit the `.env` file with your configuration.
Radch-enko's avatar
Radch-enko включено в состав коммита
46

Radch-enko's avatar
Radch-enko включено в состав коммита
47
4. Build and run the application:
Radch-enko's avatar
Radch-enko включено в состав коммита
48
   ```
Radch-enko's avatar
Radch-enko включено в состав коммита
49
50
   cd deploy/dev
   docker-compose up -d
Radch-enko's avatar
Radch-enko включено в состав коммита
51
52
   ```

Radch-enko's avatar
Radch-enko включено в состав коммита
53
## Project Structure
Radch-enko's avatar
Radch-enko включено в состав коммита
54
```
Radch-enko's avatar
Radch-enko включено в состав коммита
55
56
57
effective-office/
├── backend/           # Server-side application
│   └── README.md      # Detailed backend documentation
Radch-enko's avatar
Radch-enko включено в состав коммита
58
├── clients/           # Client applications
Radch-enko's avatar
Radch-enko включено в состав коммита
59
60
61
62
63
64
65
66
67
│   └── README.md      # Detailed client documentation
├── iosApp/            # iOS mobile application
├── deploy/            # Deployment configurations
│   ├── dev/           # Development environment
│   └── prod/          # Production environment
├── scripts/           # Utility scripts
│   ├── git-hooks/     # Git hooks for development
│   └── install.sh     # Installation script
└── build-logic/       # Build configuration
Radch-enko's avatar
Radch-enko включено в состав коммита
68
69
```

Radch-enko's avatar
Radch-enko включено в состав коммита
70
71
72
For detailed documentation:
- [Backend Documentation](./backend/README.md)
- [Client Documentation](./clients/README.md)
Radch-enko's avatar
Radch-enko включено в состав коммита
73
- [Build Logic Documentation](./build-logic/README.md)
Radch-enko's avatar
Radch-enko включено в состав коммита
74
- [Calendar Integration Documentation](docs/CALENDAR_INTEGRATION.md)
Radch-enko's avatar
Radch-enko включено в состав коммита
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

## Development Tools
- **Build System**: Gradle with Kotlin DSL
- **Containerization**: Docker and Docker Compose
- **Security Scanning**: Gitleaks for secret detection
- **CI/CD**: Automated build and deployment pipelines
- **Version Control**: Git with pre-commit hooks

## Code Style & Conventions
- Follow Kotlin coding conventions for backend development
- Use consistent naming patterns across the codebase
- Document public APIs and complex logic
- Run the pre-commit hook to ensure no secrets are committed

## Contributing
1. Ensure you've run the installation script (`./scripts/install.sh`)
Radch-enko's avatar
Radch-enko включено в состав коммита
91
2. Follow our [Git Flow](docs/GIT_FLOW.md) for branching and commit conventions
Radch-enko's avatar
Radch-enko включено в состав коммита
92
93
94
95
96
97
98
99
100
101
3. Create a feature branch (`git checkout -b feature/amazing-feature`)
4. Commit your changes (`git commit -m 'Add some amazing feature'`)
5. Push to the branch (`git push origin feature/amazing-feature`)
6. Open a Pull Request

## Roadmap
- TODO

## Authors
- TODO
Radch-enko's avatar
Radch-enko включено в состав коммита
102
103

## License
Radch-enko's avatar
Radch-enko включено в состав коммита
104
- TODO