A full-stack REST API that lets you create, update, and manage developer profiles.
Built with Spring Boot, PostgreSQL, and a minimalist frontend for CRUD operations.
Clean, scalable, and portfolio-ready.
DeveloperSkillAPI is a backend project built with Spring Boot to demonstrate clean API architecture, OOP design principles, and structured JSON data handling.
It’s designed for learning, interviews, or as part of a developer portfolio to showcase backend proficiency and RESTful design.
- RESTful Endpoints — Organized using MVC patterns
- OOP Architecture — Separation between controllers, services, and models
- JSON Integration — Automatic serialization/deserialization for API communication
- Error Handling — Custom exception responses for better debugging
- Extensibility — Built to easily add new endpoints or modules
| Category | Technology | Purpose |
|---|---|---|
| Language | Java | Implements core API logic and data models. |
| Framework | Spring Boot | Provides REST API setup, DI, and configuration management. |
| Build Tool | Maven | Manages dependencies and automates project builds. |
| Data Format | JSON | Handles client–server data exchange. |
| Testing | JUnit, Postman | JUnit for automated tests; Postman for API validation. |
| Architecture | MVC | Separates controllers, services, and models for clarity. |
| API Design | REST | Implements standard CRUD endpoints via HTTP methods. |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/developers |
Fetch all developers |
| GET | /api/developers/{id} |
Retrieve a developer by ID |
| POST | /api/developers |
Add a new developer |
| PUT | /api/developers/{id} |
Update an existing developer |
| DELETE | /api/developers/{id} |
Delete a developer |
flowchart TD
User[👩💻 User] -->|Fetch/Add| UI[🌐 Frontend (HTML + JS)]
UI -->|HTTP Requests| API[🧩 Spring Boot REST API]
API -->|CRUD Operations| DB[(🗄️ PostgreSQL Database)]
API -->|JSON Responses| UI
curl -X POST http://localhost:8080/api/developers \
-H "Content-Type: application/json" \
-d '{
"name": "Jinora Moon",
"title": "Backend Developer",
"skills": ["Spring Boot", "SQL"],
"certifications": ["Oracle Java SE"]
}'GET /api/skillsResponse:
{
"id": 3,
"name": "Jinora Moon",
"title": "Backend Developer",
"skills": ["Spring Boot", "SQL"],
"certifications": ["Oracle Java SE"]
}This API showcases backend proficiency, API documentation, and clean architecture principles suitable for developer portfolios or technical interviews.
- Clone the repository
git clone https://github.com/lpatamia1/DeveloperSkillAPI.git cd DeveloperSkillAPI - Build and run the application
mvn spring-boot:run
- Access the API
http://localhost:8080/api/developers
- Test endpoints using Postman or curl
curl -X GET http://localhost:8080/api/developers
- Small CSS refinements (like width: 93% or margin-left: 15px) can completely change a layout’s balance and visual appeal.
- Learned how frontend JavaScript
fetch()calls connect seamlessly with backend endpoints to complete the full CRUD (Create, Read, Update, Delete) cycle. - Realized that README files are more than documentation — they’re storytelling tools that reflect design clarity, organization, and technical voice.
- Gained awareness of the difference between temporary local preview links and fully deployed live sites — and how to represent them gracefully using preview images and setup instructions.
- ✅ Database Integration — Successfully connected to PostgreSQL with JPA entities and persistent storage.
- 🛠 Swagger Documentation — Add Swagger UI / OpenAPI for interactive endpoint testing and clear API specs.
- ⚙️ Enhanced Validation & Error Handling — Add field validation (e.g.,
@NotBlank,@Email) and standardized error responses. - 💡 Frontend Expansion — Extend the simple HTML+JS interface into a React or Vue frontend that consumes the same API.
- ☁️ Cloud Deployment — Deploy on Render, Railway, or AWS for 24/7 public access.
- 📊 Metrics Dashboard (Optional) — Add endpoints that summarize developer data (e.g., most common skills or certification stats).
Crafted by Lily Patamia | Spring Boot • Java • PostgreSQL • Creativity 🌿
