Skip to content

santialb/notes-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Notes App

Overview

This is a full-stack Notes application, it allows users to create, edit, delete, and archive notes. The application also supports categorization and filtering notes by category.

Technologies Used

Backend

  • Java 17
  • Spring Boot 3.4.2
  • Spring Data JPA (for database interactions)
  • Spring Security (for authentication)
  • MySQL (as the relational database)
  • Lombok (to reduce boilerplate code)
  • Maven (build automation tool)

Frontend

  • npm 10.9.2
  • Node.js v22.13.1
  • Vite (for fast build and development)
  • React.js
  • React Router (for navigation)
  • Axios (for API calls)
  • CSS (for styling)

🛠 Setup Instructions

Prerequisites

  • Linux/macOS (Required for script compatibility)
  • Java 17
  • Node.js 18.17+
  • MySQL
  • Maven 3.8+

🚀 One-Command Setup

To automatically set up everything, run the following command in a Linux/macOS terminal:

bash setup.sh

This script will:

  • ✅ Install Java, Maven, Node.js, and MySQL
  • ✅ Set up the MySQL database with required configurations
  • ✅ Populate the database with 10 dummy notes
  • ✅ Build and start the backend (Spring Boot)
  • ✅ Build and start the frontend (React + Vite)

Once complete:

Default User Credentials

In the frontend page you will see a login page in order to use the app, the credentials to login are the following:

  • Username: defaultuser
  • Password: password

API Endpoints

Notes

Method Endpoint Description
GET /api/notes Get all notes
GET /api/notes/{id} Get note by ID
GET /api/notes/active Get active notes
GET /api/notes/archived Get archived notes
POST /api/notes Create a new note
PUT /api/notes/{id} Update an existing note
PUT /api/notes/{id}/archive Toggle archive status
DELETE /api/notes/{id} Delete a note
GET /api/notes/category/{category} Get notes by category
PUT /api/notes/{id}/categories Update note categories

Contact

About

A full crud notes api, created to manage and order notes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors