Skip to content

Commit 2ffc62f

Browse files
chore: update project settings and enhance GEMINI documentation
1 parent f0ad597 commit 2ffc62f

File tree

2 files changed

+50
-32
lines changed

2 files changed

+50
-32
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
3+
org.eclipse.jdt.core.compiler.annotation.nonnull=org.springframework.lang.NonNull
4+
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.springframework.lang.NonNullApi
5+
org.eclipse.jdt.core.compiler.annotation.nullable=org.springframework.lang.Nullable
6+
org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
27
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
38
org.eclipse.jdt.core.compiler.codegen.targetPlatform=25
49
org.eclipse.jdt.core.compiler.compliance=25
510
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
611
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
12+
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
13+
org.eclipse.jdt.core.compiler.problem.nullReference=warning
14+
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning
15+
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
716
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
17+
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
818
org.eclipse.jdt.core.compiler.processAnnotations=disabled
919
org.eclipse.jdt.core.compiler.release=enabled
1020
org.eclipse.jdt.core.compiler.source=25

GEMINI.md

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,63 +6,71 @@ The application fetches repository data from the GitHub API, stores it in a loca
66

77
## Technologies
88

9-
* **Backend:** Java 25, Spring Boot 3.5.7
10-
* **Frontend:** JTE (Java Template Engine) 3.2.1, HTML, CSS
11-
* **Database:** SQLite
12-
* **Build:** Maven
13-
* **Deployment:** Docker, GitHub Actions
9+
* **Backend:** Java 25, Spring Boot 3.5.7
10+
* **Frontend:** JTE (Java Template Engine) 3.2.1, HTML, CSS
11+
* **Database:** SQLite
12+
* **Build:** Maven
13+
* **Deployment:** Docker, GitHub Actions
1414

1515
## Architecture
1616

1717
The application follows a traditional Model-View-Controller (MVC) architecture:
1818

19-
* **Model:** The data layer, represented by classes in `src/main/java/com/pedroreis/dev/model`, which map to database tables.
20-
* **View:** The presentation layer, implemented using JTE templates located in `src/main/jte`.
21-
* **Controller:** The request-handling layer, consisting of Spring Boot controllers in `src/main/java/com/pedroreis/dev/controller` that process user input, interact with the model, and select the appropriate view to render.
19+
* **Model:** The data layer, represented by classes in `src/main/java/com/pedroreis/dev/model`, which map to database tables.
20+
* **View:** The presentation layer, implemented using JTE templates located in `src/main/jte`.
21+
* **Controller:** The request-handling layer, consisting of Spring Boot controllers in `src/main/java/com/pedroreis/dev/controller` that process user input, interact with the model, and select the appropriate view to render.
2222

2323
### Data Flow
2424

25-
1. The `GithubClient` fetches repository data from the GitHub API.
26-
2. The data is stored in the SQLite database.
27-
3. Controllers retrieve data from the database via the models.
28-
4. The data is passed to the JTE templates.
29-
5. The JTE templates are rendered as HTML and sent to the browser.
25+
1. The `GithubClient` fetches repository data from the GitHub API.
26+
2. The data is stored in the SQLite database.
27+
3. Controllers retrieve data from the database via the models.
28+
4. The data is passed to the JTE templates.
29+
5. The JTE templates are rendered as HTML and sent to the browser.
3030

3131
### Key Directories
3232

33-
* `src/main/java`: Contains the Java source code for the application.
34-
* `src/main/resources`: Contains the application's resources, such as configuration files, database schema, and static assets.
35-
* `src/main/jte`: Contains the JTE templates for the view layer.
36-
* `target`: Contains the compiled application code and build artifacts.
33+
* `src/main/java`: Contains the Java source code for the application.
34+
* `src/main/resources`: Contains the application's resources, such as configuration files, database schema, and static assets.
35+
* `src/main/jte`: Contains the JTE templates for the view layer.
36+
* `target`: Contains the compiled application code and build artifacts.
3737

3838
## Building and Running
3939

4040
### Prerequisites
4141

42-
* Java 25
43-
* Maven
42+
* Java 25
43+
* Maven
4444

4545
### Running Locally
4646

47-
1. Clone the repository.
48-
2. Run the application with `mvn spring-boot:run`.
49-
3. The application will be available at `http://localhost:8080`.
47+
1. Clone the repository.
48+
2. Run the application with `mvn spring-boot:run`.
49+
3. The application will be available at `http://localhost:8080`.
5050

5151
### Building for Production
5252

53-
1. Run `mvn clean package` to build the application JAR file.
54-
2. The JAR file will be located in the `target` directory.
53+
1. Run `mvn clean package` to build the application JAR file.
54+
2. The JAR file will be located in the `target` directory.
5555

5656
### Running with Docker
5757

58-
1. Build the Docker image with `docker build -t pedroreis.dev .`.
59-
2. Run the Docker container with `docker run -p 8080:8080 pedroreis.dev`.
58+
1. Build the Docker image with `docker build -t pedroreis.dev .`.
59+
2. Run the Docker container with `docker run -p 8080:8080 pedroreis.dev`.
6060

6161
## Development Conventions
6262

63-
* The project follows the standard Spring Boot project structure.
64-
* JTE templates are used for the view layer.
65-
* The application uses a `GithubClient` to fetch data from the GitHub API.
66-
* The data is stored in an SQLite database.
67-
* The database schema is defined in `src/main/resources/schema.sql`.
68-
* Initial data is inserted from `src/main/resources/data.sql`.
63+
* The project follows the standard Spring Boot project structure.
64+
* JTE templates are used for the view layer.
65+
* The application uses a `GithubClient` to fetch data from the GitHub API.
66+
* The data is stored in an SQLite database.
67+
* The database schema is defined in `src/main/resources/schema.sql`.
68+
* Initial data is inserted from `src/main/resources/data.sql`.
69+
70+
## Dependencies
71+
72+
* **Spring Boot Starter Web:** Provides support for building web applications, including RESTful applications, using Spring MVC.
73+
* **Spring Boot Starter JDBC:** Provides support for using JDBC to connect to a database.
74+
* **SQLite JDBC:** The JDBC driver for the SQLite database.
75+
* **JTE:** The Java Template Engine used for rendering the view layer.
76+
* **Jackson Datatype JSR310:** Provides support for serializing and deserializing Java 8 date and time types.

0 commit comments

Comments
 (0)