Skip to content

sjaegervigo/notesApp-Spring-Angular

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Notes App

A simple full-stack web application to create, edit, and delete notes. It consists of a RESTful API built with Java Spring Boot and a frontend developed with Angular. The application uses PostgreSQL as the database.


πŸ“ Project Structure

CHALLENGE.md
README.md          # You're here
notes-app/
β”œβ”€β”€ backend/       # Spring Boot REST API
β”œβ”€β”€ frontend/      # Angular SPA
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ run.sh         # One-line script to run the entire stack

πŸš€ How to Run the App

Important: Make sure Docker and Docker Compose are installed and running.

Clone the repository

git clone https://github.com/your-org/notes-app.git
cd notes-app

Grant execution permission to the script (only once)

chmod +x run.sh
Start the app
./run.sh
The script will:

Build and start the backend, frontend, and database

Create the necessary database schema automatically

πŸ“¦ Technologies Used

To run this project correctly, make sure you have the following installed:

πŸ”Ή Frontend (Angular)

  • Node.js: v20.19.0
  • npm: v10.8.2
  • Angular CLI: v17.3.7

πŸ”Ή Backend (Spring Boot)

  • Java: OpenJDK 21.0.5 (compila con Java 17 configurado en pom.xml)
  • Maven: 3.9.9
  • Spring Boot: 3.5.0
  • Database: PostgreSQL (configurado como dependencia runtime)

πŸ”Ή Docker environment

  • Docker: v28+
  • Docker Compose: v2.34+
  • OS: Linux, macOS or Windows (with WSL2 or Docker Desktop)

🌐 Architecture Overview

The app follows a Single Page Application (SPA) model.

Frontend is fully decoupled and consumes the REST API provided by the backend.

The backend follows a layered architecture:

Controller β†’ Service β†’ Repository

All services are containerized and orchestrated via docker-compose.

πŸ§ͺ API Testing

Once the app is running, the backend API is available at:

http://localhost:8080/api/notes

You can test it using:

Postman

curl

Or directly from the frontend interface

πŸ› οΈ Development If you prefer to run frontend and backend separately during development:

# Backend
cd backend
./mvnw spring-boot:run

# Frontend
cd frontend
npm install
ng serve

🧾 License This project is for evaluation purposes and belongs to sjaegervigo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published