Skip to content
/ vox Public

A Spring Boot application that demonstrates user authentication, CRUD, and table transactions.

Notifications You must be signed in to change notification settings

alexpqbt/vox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vox: Freedom

Java Spring Boot MariaDB

Vox: Freedom is a lightweight Spring Boot application for creating and viewing posts with user authentication, CRUD operations, and transactional support across multiple tables.


Quick Start

  1. Clone the repository:
git clone <repository-url>
cd vox
  1. Configure your database credentials in application.properties (see Configuration)

  2. Run the application:

  • Linux / MacOS:
./mvnw spring-boot:run
  • Windows (PowerShell / Command Prompt):
mvnw.cmd spring-boot:run
  1. Open http://localhost:8080 in your browser

Table of Contents


Features

  • User authentication & authorization
  • CRUD operations for posts
  • Transactional operations spanning multiple tables

Prerequisites

Tool Required Version Installation Notes
Java 21 Download
Maven Latest Install
MariaDB 10+ Download

Installation

Clone the repository and run the application:

  • Linux / MacOS:
git clone <repository-url>
cd vox
./mvnw spring-boot:run
  • Windows (PowerShell / CMD):
git clone <repository-url>
cd vox
mvnw.cmd spring-boot:run

Database Setup

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
sudo mariadb -u root -p

Inside the MariaDB shell:

CREATE DATABASE freedomwall;
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON freedomwall.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Windows

  1. Download and install MariaDB: MariaDB Downloads
  2. Ensure the MariaDB service is running
  3. Open MariaDB Command Line Client or cmd:
CREATE DATABASE freedomwall;
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON freedomwall.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Configuration

Set database connection and JPA options in application.properties:

spring.datasource.url=jdbc:mariadb://localhost:3306/freedomwall
spring.datasource.username=<your-username>
spring.datasource.password=<your-password>
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update

Other settings such as server port and security options can also be configured here.


Usage

  1. Navigate to http://localhost:8080
  2. Register a new account and log in
  3. Create, read, update, or delete posts
  4. Browse posts created by other users

All interactions occur through the web interface; no public API endpoints are provided.


Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/YourFeature)
  3. Commit your changes (git commit -m "Add some feature")
  4. Push to the branch (git push origin feature/YourFeature)
  5. Submit a pull request

About

A Spring Boot application that demonstrates user authentication, CRUD, and table transactions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published