pruizz/dsgram-app-compose

By pruizz

Updated 4 months ago

Compose
Web servers
0

301

pruizz/dsgram-app-compose repository overview

DSGram

Short Description

DSGram: an educational social network with Spring Boot + MySQL, featuring a REST API, OAuth2 login, and ready for deployment via Docker Compose.

Full Description

DSGram (Spring Boot + MySQL)

A social web application designed for learning, sharing, and solving Data Structures exercises. Users can interact, choose data structures to solve problems, and create visual representations of them in real-time.

Key Features
  • Backend: Spring Boot (Java 21)
  • Database: MySQL
  • API: Comprehensive REST API included
  • Frontend: Server-side templating (Mustache) + AJAX + Vanilla JS (with Cytoscape.js for graphs)
  • Authentication: Form login + OAuth2 (Google/GitHub)
  • Extras: PDF exporting, recommendation algorithms, follow system, and admin dashboard
  • Port: Exposes HTTPS on 8443 (self-signed certificate provided for development)

Access the application at:


Deployment Option: Run with Docker Compose

1) Create an .env file

Create an environment file anywhere on your system and fill in your details:

DB_NAME=
DB_USERNAME=
DB_PASSWORD=

KEYSTORE_PASSWORD=
KEYSTORE_SECRET=

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

SPRING_JPA_HIBERNATE_DDL_AUTO=
2) Start the services

Use the OCI artifact directly to spin up the application and database together:

docker compose -f oci://docker.io/pruizz/dsgram-app-compose:1.0.0 --env-file /path/to/your/.env up -d
3) View logs (optional)
docker compose logs -f web
4) Stop the services
docker compose down

Notes

  • The application exposes HTTPS on port 8443.
  • In a development environment, your browser will display a self-signed certificate warning. This is expected.
  • If you are not utilizing OAuth2 login, you can safely leave the Google/GitHub IDs and secrets empty in your .env file.

Tag summary

Content type

Compose

Digest

sha256:440b7eb1f

Size

1013 Bytes

Last updated

4 months ago