@@ -26,12 +26,6 @@ The Spreadsheet Application is a modern web-based solution for managing sales da
2626 - Session-based access control
2727 - Secure data transmission
2828
29- - ** Deployment Options**
30- - Local development setup
31- - Docker containerization
32- - Kubernetes deployment
33- - CI/CD pipeline integration
34-
3529## Technology Stack
3630
3731### Frontend
@@ -47,12 +41,11 @@ The Spreadsheet Application is a modern web-based solution for managing sales da
4741- ** Real-time** : Flask-SocketIO 5.3+
4842- ** Security** : Werkzeug 3.0+
4943
50- ### Development & Deployment
44+ ### Infrastructure
5145- ** Containerization** : Docker
52- - ** Orchestration** : Kubernetes (Minikube)
53- - ** CI/CD** : GitHub Actions
54- - ** Code Quality** : Ruff, Pre-commit
55- - ** Environment** : Python 3.8+
46+ - ** Orchestration** : Amazon EKS (Elastic Kubernetes Service)
47+ - ** CI/CD** : AWS CodePipeline
48+ - ** Monitoring** : AWS CloudWatch
5649
5750## Getting Started
5851
@@ -61,8 +54,10 @@ The Spreadsheet Application is a modern web-based solution for managing sales da
6154- Python 3.8 or higher
6255- Redis server
6356- Git
64- - Docker (optional)
65- - Minikube (optional)
57+ - UV Package Manager
58+ - AWS CLI configured with appropriate credentials
59+ - kubectl configured for EKS cluster
60+ - eksctl for cluster management
6661
6762### Installation
6863
@@ -89,7 +84,7 @@ The Spreadsheet Application is a modern web-based solution for managing sales da
8984 ```
9085
91864 . ** Configure Environment**
92- Create a ` .env ` file with:
87+ Create a ` .env ` file in the root directory with:
9388 ``` bash
9489 FLASK_APP=backend.app
9590 FLASK_ENV=development
@@ -98,9 +93,9 @@ The Spreadsheet Application is a modern web-based solution for managing sales da
9893 REDIS_PORT=6379
9994 ```
10095
101- ## Deployment Options
96+ ### Running the Application
10297
103- ### Local Development
98+ #### Local Development
10499
1051001 . ** Start Redis Server**
106101 ``` bash
@@ -119,33 +114,26 @@ The Spreadsheet Application is a modern web-based solution for managing sales da
1191143 . ** Access Application**
120115 Open http://localhost:5000 in your browser
121116
122- ### Docker Deployment
117+ #### EKS Deployment
123118
124- 1 . ** Build Image **
119+ 1 . ** Configure AWS CLI **
125120 ``` bash
126- docker build -t spreadsheet-app .
121+ aws configure
127122 ```
128123
129- 2 . ** Run Container **
124+ 2 . ** Create EKS Cluster **
130125 ``` bash
131- docker run -p 5000:5000 spreadsheet-app
126+ eksctl create cluster --name spreadsheet-app --region your-region --nodegroup-name standard-workers --node-type t3.medium --nodes 3 --nodes-min 1 --nodes-max 4 --managed
132127 ```
133128
134- ### Kubernetes Deployment
135-
136- 1 . ** Start Minikube**
137- ``` bash
138- minikube start
139- ```
140-
141- 2 . ** Deploy Application**
129+ 3 . ** Deploy Application**
142130 ``` bash
143131 kubectl apply -f kubernetes/
144132 ```
145133
146- 3 . ** Access Application**
134+ 4 . ** Access Application**
147135 ``` bash
148- minikube service spreadsheet-app-service
136+ kubectl get svc spreadsheet-app-service
149137 ```
150138
151139## Project Structure
@@ -159,65 +147,33 @@ spreadsheetApplication/
159147│ ├── utils/ # Utility functions
160148│ └── app.py # Main application
161149├── frontend/ # User interface
162- ├── kubernetes/ # Deployment configurations
163- ├── tests/ # Test suite
164- ├── database/ # Local database storage
165- ├── certs/ # SSL certificates
166- ├── .github/ # CI/CD workflows
167- └── docs/ # Documentation
150+ ├── kubernetes/ # EKS deployment configurations
151+ ├── tests/ # Test suite
152+ ├── database/ # Local database storage
153+ └── docs/ # Documentation
168154```
169155
170156## Database Management
171157
172158The application uses DuckDB for data storage with the following features:
173- - Local development: File-based storage
174- - Production: Kubernetes persistent volume
159+ - File-based storage for local development
160+ - EKS persistent volume for production
175161- Automatic schema management
176162- Real-time data synchronization
177163
178- ## CI/CD Pipeline
179-
180- The application uses GitHub Actions for continuous integration and deployment:
181-
182- 1 . ** Testing Phase**
183- - Code linting and formatting
184- - Unit and integration tests
185- - Security scanning
186-
187- 2 . ** Build Phase**
188- - Docker image creation
189- - Image scanning
190- - Push to Docker Hub
191-
192- 3 . ** Deployment Phase**
193- - Kubernetes deployment
194- - Health checks
195- - Rollback capabilities
196-
197164## Contributing
198165
199166We welcome contributions! Please follow these steps:
200167
201- 1 . Fork the repository
202- 2 . Create a feature branch
203- 3 . Make your changes
204- 4 . Run tests and linting
205- 5 . Submit a pull request
168+ 1 . Create a feature branch (` git checkout -b feature/feature-name ` )
169+ 2 . Commit your changes (` git commit -m 'Add feature description' ` )
170+ 3 . Push to the branch (` git push origin feature/feature-name ` )
171+ 4 . Create a Pull Request
206172
207173## License
208174
209- This project is licensed under the MIT License - see the [ LICENSE] ( LICENSE ) file for details.
175+ This project is licensed under the MIT License - see the LICENSE file for details.
210176
211177## Support
212178
213- For support, please:
214- 1 . Check the [ documentation] ( docs/ )
215- 2 . Open an issue on GitHub
216- 3 . Contact the maintainers
217-
218- ## Acknowledgments
219-
220- - Flask team for the web framework
221- - Socket.IO for real-time capabilities
222- - DuckDB for efficient data storage
223- - Redis for session management
179+ For support, please contact the maintainers through the project's communication channels.
0 commit comments