Skip to content

The One-Stop Solution for Coders. A comprehensive, logic-driven curriculum covering every field of Computer Science, from Fundamentals to High-Scale Architecture.

Notifications You must be signed in to change notification settings

ArshVermaGit/CodeUp

Repository files navigation

CodeUp 🚀

A modern full-stack monorepo project built with Next.js 16, Express, Turborepo, and Prisma.

✨ Features

  • Monorepo Structure: Managed with Turborepo for efficient builds and shared code.
  • Frontend: Next.js 16 (App Router) with TypeScript, Tailwind CSS, and shadcn/ui.
  • Backend: Node.js/Express API with TypeScript and Zod validation.
  • Type Safety: End-to-end type safety with shared packages and Zod environment validation.
  • Authentication: NextAuth.js v5 (beta) pre-configured.
  • State Management: Zustand and React Query for server state.
  • Database: Prisma ORM with PostgreSQL.
  • Developer Experience: Prettier, ESLint, and absolute imports (@/) configured.

🚀 Tech Stack

Area Technologies
Core Next.js, React, TypeScript
Styling Tailwind CSS, shadcn/ui
Backend Express, Node.js
Monorepo Turborepo
ORM Prisma
Auth NextAuth.js
Validation Zod
State Zustand, React Query

📁 Project Structure

CodeUp/
├── apps/
│   ├── web/             # Next.js Frontend (@codeup/web)
│   └── api/             # Express Backend (@codeup/api)
├── packages/
│   ├── types/           # Shared TypeScript types (@codeup/types)
│   └── utils/           # Shared utility functions (@codeup/utils)
├── turbo.json           # Turborepo configuration
├── package.json         # Workspace root dependencies
└── eslint.config.mjs    # Shared linting configuration

🛠️ Getting Started

Prerequisites

  • Node.js 18+
  • npm (or yarn/pnpm)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/CodeUp.git
    cd CodeUp
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp apps/web/.env.example apps/web/.env.local
    # Fill in your variables in apps/web/.env.local
  4. Initialize Database:

    npx prisma generate
    # After configuring DATABASE_URL:
    # npx prisma migrate dev
  5. Start Development:

    npm run dev

📜 Commands

  • npm run dev: Starts all apps in development mode.
  • npm run build: Builds all apps and packages.
  • npm run lint: Lints the entire codebase.
  • npm run format: Formats code with Prettier.
  • npm run type-check: Verifies types across the monorepo.

🤝 Contribution Guidelines

  1. Create a branch: git checkout -b feature/your-feature
  2. Make changes: Ensure code follows the established patterns.
  3. Lint & Format: Run npm run lint and npm run format.
  4. Push & PR: Push your branch and open a Pull Request.

Built with ❤️ by Arsh Verma

About

The One-Stop Solution for Coders. A comprehensive, logic-driven curriculum covering every field of Computer Science, from Fundamentals to High-Scale Architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published