8000 GitHub - sauce-chili/NoteBin
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

sauce-chili/NoteBin

Repository files navigation

Purpose

This project was created as a training project within the framework of the university discipline of "Information Systems Design".

Fuatures

The project is largely inspired by PasteBin. The following features were implemented during development:

  • Several storage modes - in PasteBin you can create a note with 3 storage modes (“Burn after read”, “Burn by period”, “Never”). The most interesting is the first one. It allows you to read the note only once (even with simultaneous requests, the note will be issued only to one). NoteBin supports it. This feature is implemented through Redis transactions and optimistic locking;

  • Notes Caching - сache the most frequently requested data using Redis;

  • Unique short URL - we give the user short and unique URL. The URL is provided instantly, our user does not wait for it to be generated. For this, 2 types of pools of free (pre-generated) URLs are used: local and global. Pools are replenished in asynchronous mode when “starvation” is detected;

  • Acount system - system allows registered accounts through which you can view and edit previously created notes. User authentication is performed on the basis of a JWT with 2 types of tokens: refresh and access;

  • Analytics - collecting information on views of notes. Statistics on the number of non/unique views are available.

Stack Overview

Java Kotlin Spring Postgres Hibernate Redis JWT Gradle Apache Tomcat Docker

Scripts

Running the Project with Docker Compose

To simplify the process of running the project, we use docker-compose. Follow these steps to get started:

  1. Build the Docker images (if not already built):
    docker-compose build
    
  2. Start the containers:
    docker-compose up

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0