Skip to content

lpatamia1/DeveloperSkillAPI

Repository files navigation

🧩 DevBase — Developer Skill API

Java Spring Boot Maven JSON

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.


Project Overview

A Clean, Scalable Java Spring Boot REST API

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.


Core Features

What Makes This API Clean, Extensible, and Developer-Friendly

  • 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

UI Preview

Snapshot or visual demo of what the app looks like running

App Preview

Tech Stack Overview

Tools, Frameworks, and Their Roles in the Project

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.

API Endpoint Reference

Explore the CRUD Operations Available in Developer Skill API

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

Architecture Overview

How the Frontend, Backend, and Database Connect

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
Loading

Example Request & Response

Demonstrating How Data Moves Through DevBase API

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 Example Response

GET /api/skills

Response:

{
  "id": 3,
  "name": "Jinora Moon",
  "title": "Backend Developer",
  "skills": ["Spring Boot", "SQL"],
  "certifications": ["Oracle Java SE"]
}

Project Purpose & Learning Goals

Why This Project Matters and What It Demonstrates

This API showcases backend proficiency, API documentation, and clean architecture principles suitable for developer portfolios or technical interviews.


Local Setup & Execution Guide

Run and Test Developer Skill API on Your Own Machine

  1. Clone the repository
    git clone https://github.com/lpatamia1/DeveloperSkillAPI.git
    cd DeveloperSkillAPI
  2. Build and run the application
    mvn spring-boot:run
  3. Access the API
    http://localhost:8080/api/developers
  4. Test endpoints using Postman or curl
    curl -X GET http://localhost:8080/api/developers

What I Learned

Leveled up development experience and polishing portfolios

  • 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.

Next Steps

Continuing to build, refine, and scale Developer Skill API

  • 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).

Built with ☕, 💚, and clean architecture principles.

Crafted by Lily Patamia | Spring Boot • Java • PostgreSQL • Creativity 🌿

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published