Skip to content

A modern platform to share, discover, and manage developer code snippets and ready-made systems. Built with Nuxt 3 & NestJS.

License

Notifications You must be signed in to change notification settings

thearkxd/devyork-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevYork πŸš€

The Ultimate Hub for Sharing and Discovering Developer Codes

DevYork is a modern, community-driven platform where developers can share their code snippets, discover ready-made systems, and elevate their development workflow. From simple scripts to complex diamond-tier modules, DevYork organizes it all! ✨

Version License Status Tech


🌟 What is DevYork?

Ever struggled with:

  • πŸ—‘οΈ Losing useful code snippets in random folders?
  • πŸ€·β€β™‚οΈ Searching for hours for a working discord.js command or a python script?
  • πŸ“‰ Finding codes that are outdated or full of bugs?
  • 🀝 Wanting to share your work but lacking a proper platform?

DevYork solves this! It's a structured ecosystem that categories codes by quality and utility, ensures community moderation through bug reporting, and provides a sleek interface for seamlessly browsing and managing developer resources.

Note: Authentication is intentionally disabled in this public demo to allow reviewers to explore all features without friction.


✨ Features

🎯 Core Experiences

  • πŸ’Ž Tiered Content System: Codes are categorized into Normal, Gold, and Diamond tiers based on complexity and value.
  • πŸ—οΈ Ready Systems: Dedicated section for complete, plug-and-play systems (e.g., Auth systems, Ticket bots).
  • πŸ”’ Discord Authentication: Secure login using Discord OAuth2 to verify identity and sync avatars.
  • ⭐ Rating & Feedback: Community-driven quality control with 5-star rating systems.
  • 🎨 Modern UI/UX: A dark-themed, glassmorphic interface built with Tailwind CSS for maximum aesthetic appeal.

πŸ›‘οΈ Quality & Moderation

  • ⚠️ Advanced Bug Reporting: Users can report broken codes with specific reasons. If a user previously reported a bug, the system prevents duplicates.
  • 🚫 Automated Warnings: Codes with confirmed bug reports display a prominent warning banner to alert users.
  • βš™οΈ Admin Dashboard: Comprehensive admin panel to manage users, approve/delete codes, and oversee platform activity.

πŸ” Discovery & Tools

  • πŸ”Ž Smart Filters: Filter codes by Language (JS, TS, Python, etc.), Module (discord.js, mongoose, etc.), Rating, and Bug Status.
  • πŸ“„ Code Detail View: View source code with syntax highlighting (PrismJS), copy to clipboard, or download as ZIP.
  • πŸ“± Responsive: Fully optimized for Desktop, Tablet, and Mobile.

πŸ—οΈ Tech Stack

Frontend (Client)

  • Framework: Nuxt 3 (Vue 3)
  • Styling: Tailwind CSS
  • Icons: FontAwesome & Custom SVG
  • State: Pinia
  • Editor: Monaco Editor / PrismJS integration
  • Notifications: SweetAlert2 & Vue3-Toastify

Backend

  • NestJS (Modular architecture)
  • MongoDB + Mongoose
  • Passport.js (Discord OAuth2)
  • Express Sessions
  • RESTful API design

🧠 Architecture & Technical Decisions

DevYork was initially prototyped as a full Nuxt SSR application.
As the project evolved, the backend was fully separated into a standalone NestJS API to improve:

  • Scalability
  • Code maintainability
  • Clear frontend / backend responsibility separation

Key decisions:

  • NestJS chosen for its modular architecture and long-term scalability
  • REST API over GraphQL for simplicity and predictable data flow
  • MongoDB + Mongoose for flexible schema design
  • Session-based authentication for Discord OAuth2 integration

πŸ”“ Authentication Note (Public Demo)

Authentication and authorization checks are intentionally relaxed in this public demo.

The goal is to allow reviewers and recruiters to:

  • Explore all pages
  • Review UI/UX and system flows
  • Test core features without account setup

In a production environment, role-based access control and route guards are fully supported.

πŸ› οΈ What I Built in This Project

I was responsible for the entire development lifecycle of DevYork:

  • UI/UX design and frontend implementation
  • Backend architecture and API development
  • Database schema design
  • Discord OAuth2 authentication flow
  • Admin dashboard & moderation tools
  • Bug reporting and validation logic
  • Deployment-ready environment configuration

This project reflects my ability to take a product from idea to a working platform.

οΏ½ Getting Started

Prerequisites

  • Node.js 18+
  • Yarn (recommended) or npm
  • MongoDB (Local or Atlas URL)
  • Discord Developer Application (Client ID & Secret)

Installation

1. Clone the Repository

git clone https://github.com/alperr/devyork-website.git
cd devyork-website

2. Backend Setup

cd backend
yarn install

Create a .env file in backend/ directory:

MONGO_URL=mongodb://localhost:27017/devyork
PORT=3001
SESSION_SECRET=super_secret_key_change_me
DISCORD_CLIENT_ID=your_discord_client_id
DISCORD_CLIENT_SECRET=your_discord_client_secret
DISCORD_CALLBACK_URL=http://localhost:3000/api/auth/callback

Start the server:

yarn start:dev

3. Frontend Setup

Open a new terminal:

cd frontend
yarn install

Create a .env file in frontend/ (optional, defaults typically work):

BACKEND_URL=http://localhost:3001/api

Start the client:

yarn dev

Visit http://localhost:3000 πŸš€


πŸ“– How to Use

Sharing Code

  1. Login via Discord.
  2. Navigate to "Share Code".
  3. Fill in the Title, Description, and select the Rank/Category.
  4. Paste your code into the editor.
  5. Click Share!

Reporting Bugs

If you find a broken code:

  1. Go to the Code Detail page.
  2. Click the Warning Icon (⚠️) button.
  3. Select the reason (e.g., "Not Working", "Spam").
  4. Provide details and submit.
    • Note: If you've already reported it, the system will remind you!

Admin Panel

  • Access via /dashboard if your user ID is authorized in the backend.
  • Manage Users: View all registered users, sort by join date.
  • Manage Codes: Edit or Delete any code on the platform.

πŸ“ Project Structure

devyork/
β”œβ”€β”€ backend/               # NestJS API
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ auth/          # Authentication Logic
β”‚   β”‚   β”œβ”€β”€ codes/         # Codes CRUD & Logic
β”‚   β”‚   β”œβ”€β”€ schemas/       # MongoDB Schemas
β”‚   β”‚   └── main.ts        # Entry Point
β”œβ”€β”€ frontend/              # Nuxt 3 Client
β”‚   β”œβ”€β”€ components/        # Reusable Vue Components
β”‚   β”œβ”€β”€ pages/             # Route Views
β”‚   β”œβ”€β”€ public/            # Static Assets
β”‚   └── nuxt.config.ts     # Nuxt Configuration
└── README.md              # Documentation

πŸ”§ Troubleshooting

Login Fails?

  • Ensure DISCORD_CLIENT_ID and SECRET are correct.
  • Check if http://localhost:3000/api/auth/callback is added to your Discord Developer Portal redirects.

MongoDB Connection Error?

  • Check if your local MongoDB service is running (mongod).
  • Verify the MONGO_URL in .env.

Styles Not Loading?

  • Ensure yarn dev finished compiling Tailwind CSS.
  • Try deleting .nuxt folder and restart.

🀝 Contributing

We love contributions! Please see CONTRIBUTING.md for details.

  1. 🍴 Fork it
  2. 🌿 Create your feature branch (git checkout -b feature/cool-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'feat: Add cool feature')
  4. πŸ“€ Push to the branch (git push origin feature/cool-feature)
  5. πŸ”„ Create a Pull Request

οΏ½ License

This project is licensed under the MIT License - see the LICENSE file for details.


🌍 Connect


Made with ❀️ by Theark Happy Coding! πŸš€

About

A modern platform to share, discover, and manage developer code snippets and ready-made systems. Built with Nuxt 3 & NestJS.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages