@@ -16,9 +16,9 @@ the [RealWorld](https://github.com/gothinkster/realworld) repository.
1616## Table of Contents
1717
1818- [ Prerequisites] ( #prerequisites )
19+ - [ Features] ( #features )
1920- [ Project Structure] ( #project-structure )
2021- [ Database Design] ( #database-design )
21- - [ Features] ( #features )
2222- [ Configuration and Environment Variables] ( #configuration-and-environment-variables )
2323- [ Running the Application] ( #running-the-application )
2424- [ Testing] ( #testing )
@@ -31,6 +31,17 @@ the [RealWorld](https://github.com/gothinkster/realworld) repository.
3131
3232---
3333
34+ ## Features
35+
36+ - ** CRUD Operations** : Enables create, read, update, and delete functionalities.
37+ - ** Authentication & Authorization** : Implements secure user authentication using JWT or similar mechanisms.
38+ - ** Routing** : Follows a clean architecture pattern for efficient route management.
39+ - ** Pagination & Sorting** : Optimized for handling large datasets.
40+ - ** Error Handling** : Centralized error management and logging mechanisms.
41+ - ** Testing** : Comprehensive testing includes unit, integration, and end-to-end tests.
42+
43+ ---
44+
3445## Project Structure
3546
3647The project is structured using a modular architecture, where each module plays a specific role:
@@ -48,24 +59,12 @@ The project is structured using a modular architecture, where each module plays
4859
4960## ** Database Design**
5061
51-
52- ![ Schema Diagram] ( /docs/schema.png )
53-
5462Since there were no strict requirements regarding the field lengths, arbitrary sizes were chosen. To facilitate the use
5563of UUIDs for domain IDs, the column was defined as ` binary(16) ` . Additionally, as MySQL InnoDB manages a clustered index
5664by default, a dedicated primary key using ` int ` (4 bytes) was selected to prevent unnecessary expansion of the clustered
5765index. No extra indexes have been defined at this stage in order to avoid premature optimization.
5866
59- ---
60-
61- ## Features
62-
63- - ** CRUD Operations** : Enables create, read, update, and delete functionalities.
64- - ** Authentication & Authorization** : Implements secure user authentication using JWT or similar mechanisms.
65- - ** Routing** : Follows a clean architecture pattern for efficient route management.
66- - ** Pagination & Sorting** : Optimized for handling large datasets.
67- - ** Error Handling** : Centralized error management and logging mechanisms.
68- - ** Testing** : Comprehensive testing includes unit, integration, and end-to-end tests.
67+ ![ Schema Diagram] ( /docs/schema.png )
6968
7069---
7170
0 commit comments