{"id":31915955,"url":"https://github.com/azganoth/nexus","last_synced_at":"2025-10-13T19:58:27.474Z","repository":{"id":311820616,"uuid":"991738406","full_name":"Azganoth/nexus","owner":"Azganoth","description":"Link aggregation platform.","archived":false,"fork":false,"pushed_at":"2025-08-26T19:55:17.000Z","size":1413,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-27T03:59:56.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nexusapp.fly.dev/","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Azganoth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-28T04:46:40.000Z","updated_at":"2025-08-26T19:55:21.000Z","dependencies_parsed_at":"2025-08-27T04:16:16.279Z","dependency_job_id":"05c74847-6bc9-4b16-a5ba-8bf35f0c5417","html_url":"https://github.com/Azganoth/nexus","commit_stats":null,"previous_names":["azganoth/nexus"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Azganoth/nexus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azganoth%2Fnexus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azganoth%2Fnexus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azganoth%2Fnexus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azganoth%2Fnexus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azganoth","download_url":"https://codeload.github.com/Azganoth/nexus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azganoth%2Fnexus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016834,"owners_count":26085890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-13T19:58:26.553Z","updated_at":"2025-10-13T19:58:27.469Z","avatar_url":"https://github.com/Azganoth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nexus\n\n### _Seu universo, em um só lugar._\n\nNexus is a link aggregation platform designed for developers, content creators, and freelancers to consolidate their online presence into a single, beautifully organized public profile.\n\n[Live](https://nexusapp.fly.dev)\n\n---\n\n## ✨ Key Features\n\n- **Centralized Link Hub:** Add, edit, and manage all your important links—social media, portfolios, projects, and contacts—in one place.\n- **Profile Customization:** Personalize your profile with a custom avatar, display name, and biography. Control your profile's visibility by setting it to public or private.\n- **Drag-and-Drop Reordering:** Easily reorder your links with a smooth drag-and-drop interface.\n- **Real-time Dashboard Preview:** Instantly see how your changes look on your public profile with a live preview right in your dashboard.\n- **Link Visibility Control:** Toggle the visibility of individual links, allowing you to keep some private without deleting them.\n- **Security First:** Built with security in mind, featuring JWT-based authentication with Refresh Token Rotation, secure `httpOnly` cookies, and rate limiting.\n- **Data Portability:** Export all of your account data to a JSON file at any time.\n\n## 🚀 Tech Stack\n\nThe project is a full-stack TypeScript monorepo built with a modern and robust tech stack:\n\n- **Monorepo:** pnpm + Turborepo\n- **Frontend:** Next.js, React, TailwindCSS, SWR\n- **Backend:** Node.js, Express.js, Prisma\n- **Database:** PostgreSQL\n- **Deployment:** Docker, Fly.io\n- **CI/CD:** GitHub Actions\n- **Testing:** Jest, React Testing Library, Supertest\n\n## ⚡ Getting Started\n\nFollow these instructions to set up the project for local development.\n\n### 1. Prerequisites\n\n- **Node.js:** `v22.x` or higher.\n- **pnpm:** `v10.7.1` or higher (the project uses `corepack` to enforce this version).\n- **Docker:** Required for running the local PostgreSQL database.\n\n### 2. Installation \u0026 Setup\n\n1.  **Clone the repository:**\n\n    ```sh\n    git clone [https://github.com/Azganoth/nexus.git](https://github.com/Azganoth/nexus.git)\n    cd nexus\n    ```\n\n2.  **Enable Corepack** (if not already enabled) to use the correct `pnpm` version:\n\n    ```sh\n    corepack enable\n    ```\n\n3.  **Install dependencies** from the root of the monorepo:\n\n    ```sh\n    pnpm install\n    ```\n\n4.  **Set up environment variables:**\n\n    - Copy `apps/api/env.example` to `apps/api/.env`.\n    - Copy `apps/web/env.example` to `apps/web/.env`.\n    - Update the `DATABASE_URL` in `apps/api/.env` to point to the Docker container:\n      `DATABASE_URL=\"postgresql://dev:dev@localhost:5432/nexus-dev\"`\n\n5.  **Start and seed the database:**\n\n    ```sh\n    # Start the PostgreSQL Docker container\n    pnpm db:start\n\n    # Apply the database schema\n    pnpm db:push\n\n    # Seed the database with sample data\n    pnpm db:seed\n    ```\n\n6.  **Run the development servers:**\n    ```sh\n    pnpm dev\n    ```\n\n### 3. Verification\n\n- The **Frontend** will be available at `http://localhost:3002`.\n- The **Backend API** will be available at `http://localhost:3001`.\n- You can explore the database using **Prisma Studio**: `pnpm db:studio`.\n\n## 🌐 Live Demo\n\n- **Production Frontend:** [`https://nexusapp.fly.dev`](https://nexusapp.fly.dev)\n- **Production API:** [`https://nexusapp-api.fly.dev`](https://nexusapp-api.fly.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazganoth%2Fnexus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazganoth%2Fnexus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazganoth%2Fnexus/lists"}