Regreso is an open source application that allows you to create, sync, manage, and find "destinations" (bookmarked links, files, and resources) you wish to "return" to later.
Destinations may be added to "maps", which enable graphing and visualizing relationships using tags, and eventually "journies" (saved sessions), and "trunks" which will allow one to separate maps by subject, topic, or project.
Note
If Regreso interests you or you want to receieve notifications for key releases/updates, please consider giving it a star on GitHub!
2025-01-18.22-36-07.mp4
To fork/extend Regreso, it is recommended that you use Supabase or any other Postgres database provider. To develop locally, you can run the start-database.sh
file to easily create a new Postgres database with Docker. Alternatively, the setup.sql
provides the full database schema.
Many environment variables are also required for Regreso development. These are also documented in the .env.example
file.
To install dependencies, run pnpm install
and to build/start server, use pnpm run dev
or pnpm run build && pnpm run start
.
Regreso is licensed under the MIT license, a permissive license which allows you to modify, fork, extend, or redistribute the source code.
We accept contributions of new features and bug fixes through Pull Requests and general suggestions/bug reports through Issues. Before opening either of these, please check if a similar issue/PR has already been opened/assigned and if unsure about its assignment/development status, please ask before potentially creating a duplicate.
For security reports, please submit a private vulnerability disclosure with the relevant information!
This project uses the T3 Stack made by @t3-oss:
- Typescript with ESLint and Prettier for strong typing, linting, and formatting
-
Drizzle ORM for Postgres (instead of Prisma)
- PostgreSQL database
-
tRPC for typesafe API
- Zod for schema validation
- Superjson to serialize expressions
- Server Only for marking modules
With custom additions of:
-
shadcn/ui copy-pasted components
- Radix UI primitives
- React Day Picker calendar picker
- Tailwind CSS Animate
- Next Themes UI mode abstraction
- Aceternity UI animated landing page features
- Shadcn Minimal Tiptap component
- Emblor tag selections
- React Day Picker calendar picker
- TipTap rich text editor
-
Lucia Auth implementation (to replace Next Auth)
- Arctic OAuth 2.0 Providers
- Oslo auth packages
- Node-RS bindings for Argon2
- UQR for TOTP QR Codes
- Nodemailer to send email verification messages
- UploadThing for handling user file uplaods