acm-udayton / acm-udayton/ACM-Meeting-Records

[TASK] Migrate business logic to services

Open
#160 0 comments 0 reactions 2 assignees Claimed by @ethanlally View on GitHub
enhancement
Dominant language
Python
Stars
7
Forks
2
Avg merge
4d 23h
Merged PRs (30d)
2

Description

## Feature Description

Business logic should be moved from within the routes and blueprints to separate services. These services should be contained in a `app/services` directory, with files mirroring the blueprints where they would have previously been located.

## Why It's Worth Implementing

Not only does this make our app more consistent with best practices and increase maintainability and testing ease, it also is key to our process of decoupling the frontend and backend. These services will allow us to keep consistent business logic during the intermediate phase where we keep the existing Jinja template serving and also build out the RESTful API.

---

## Acceptance Criteria & Solution Requirements
*To close this issue, the following must be met (can be finalized in the comments):*
- [x] 1. Application runs as expected with the new feature integrated seamlessly.
- [x] 2. Code quality metrics are maintained, and linting has been considered in development.
- [x] 3. Testing metrics are maintained, and tests have been updated/added wherever relevant during development.
- [ ] 4. Documentation has been updated to reflect the changes made during development.
- [ ] 5. All business logic has been removed from the `app/blueprints` directory, and is instead kept in the `app/services` directory.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.