https://github.com/thiagohrcosta/calculator-app
Calculator APP is a Python-based API developed as part of the Rockeseat specialization in Python. The project simulates a real-world application while applying best practices in software design, architecture, and scalability. The main focus is on:
https://github.com/thiagohrcosta/calculator-app
api design-patterns flask numpy python
Last synced: 2 months ago
JSON representation
Calculator APP is a Python-based API developed as part of the Rockeseat specialization in Python. The project simulates a real-world application while applying best practices in software design, architecture, and scalability. The main focus is on:
- Host: GitHub
- URL: https://github.com/thiagohrcosta/calculator-app
- Owner: thiagohrcosta
- Created: 2024-06-24T17:46:53.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-12T01:05:37.000Z (over 1 year ago)
- Last Synced: 2025-02-12T02:23:53.983Z (over 1 year ago)
- Topics: api, design-patterns, flask, numpy, python
- Language: Python
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ Calculator APP
## ๐ About the Project
Calculator APP is a Python-based API developed as part of the Rockeseat specialization in Python. The project simulates a real-world application while applying best practices in software design, architecture, and scalability. The main focus is on:
- ๐ **Clean and scalable code structure**
- ๐งช **Unit testing for reliability**
- ๐ **Separation of concerns** for maintainability
- ๐จ **Request error handling** for robustness
This project is designed to strengthen coding skills while following industry best practices in Python development.
## Technologies
  
----------
## ๐ Project Architecture
The application follows a structured folder organization:
```
๐ฆ calculator-app
โฃ ๐ src
โ โฃ ๐ calculators โ Contains different calculator implementations & tests
โ โฃ ๐ errors โ Handles API errors and exceptions
โ โฃ ๐ main โ Application entry point, factories, and routes
โ โ โฃ ๐ factories โ Factory pattern for modular calculator instances
โ โ โฃ ๐ routes โ API endpoints and request handling
โ โ โ ๐ server โ Server initialization
โ ๐ .vscode โ Development environment settings
```
## โ๏ธ Installation & Setup
1๏ธโฃ **Clone the Repository:**
```
git clone https://github.com/your-username/calculator-app.git
cd calculator-app
```
2๏ธโฃ **Create a Virtual Environment (Recommended):**
```
python -m venv venv
source venv/bin/activate # For macOS/Linux
venv\Scripts\activate # For Windows
```
3๏ธโฃ **Install Dependencies:**
```
pip install -r requirements.txt
```
4๏ธโฃ **Run the Application:**
```
python src/main/server/__init__.py or
python3 run.py
```
----------
## ๐งช Running Tests
To ensure code reliability, run the unit tests with:
```
pytest
```
## ๐ Features
โ
Modular calculator implementations
โ
Factory pattern for scalability
โ
Structured error handling
โ
Unit-tested components
โ
API-ready architecture
โ
NumPy-powered calculations for high-performance processing
## ๐ฏ Why This Project?
This project is an excellent demonstration of Python best practices, test-driven development, and scalable software architecture. If you're looking for a well-structured API project, this is it!
๐น **Built for scalability** โ Designed with clean architecture principles
๐น **Focused on maintainability** โ Code is structured for easy modifications
๐น **Industry-standard patterns** โ Factory design, error handling, and unit testing
๐น **NumPy integration** โ Optimized mathematical computations for performance
## ๐ License
This project is licensed under the MIT License.
----------