Skip to content

shaheersystems/devpond

Repository files navigation

devpond

devpond is a web application that allows users to manage and solve problems through a dashboard interface.

Features

  • User Authentication: Secure sign-up, login, and session management.
  • Dashboard: A central hub for users to view and manage problems.
  • Problem Tracking: Interface to display and interact with problems or tasks.
  • Filtering: Ability to filter and sort problems on the dashboard.

Tech Stack

  • Frontend: Next.js, React, TypeScript, Tailwind CSS
  • Backend: Next.js API Routes
  • Database: PostgreSQL with Prisma ORM
  • Authentication: better-auth (custom solution or library)
  • UI Components: Radix UI, Lucide React, Remixicon
  • State Management: Zustand

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

  • Node.js (v20 or later recommended)
  • npm
  • PostgreSQL database

Installation

  1. Clone the repo:

    git clone https://github.com/your_username/devpond.git
    cd devpond

    Replace your_username/devpond.git with the actual repository URL if different.

  2. Install NPM packages:

    npm install
  3. Set up environment variables:

    • Create a .env file in the root of the project.
    • Add your PostgreSQL database connection string:
      DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE_NAME"
    • You might need other environment variables for authentication or other services. Please check the project's configuration.
  4. Run database migrations:

    • Ensure your PostgreSQL server is running.
    • Execute the Prisma migrations:
      npx prisma migrate dev
  5. Start the development server:

    npm run dev

    The application should now be running on http://localhost:3000 (or another port if configured differently).

Available Scripts

In the project directory, you can run the following commands:

  • npm run dev

    • Runs the app in development mode with Turbopack.
    • Open http://localhost:3000 to view it in the browser.
    • The page will reload if you make edits.
  • npm run build

    • Builds the app for production to the .next folder.
    • It correctly bundles React in production mode and optimizes the build for the best performance.
  • npm start

    • Starts the production server.
    • This command should be run after building the application with npm run build.
  • npm run lint

    • Lints the project files using Next.js's built-in ESLint configuration.

Project Structure

A brief overview of the key directories:

  • src/app/: Contains the core application logic, routing (using Next.js App Router), and pages.
    • src/app/api/: API routes for backend functionality.
    • src/app/dashboard/: Components and pages related to the user dashboard.
  • src/components/: Shared React components used throughout the application.
    • src/components/ui/: UI components, potentially from a library like Shadcn/ui or similar, built using Radix UI.
  • src/lib/: Utility functions, helper scripts, and library configurations (e.g., auth.ts, utils.ts).
  • src/config/: Configuration files for services like authentication clients (auth-client.ts) and Prisma (prisma.ts).
  • prisma/: Contains Prisma schema (schema.prisma) and migration files.
    • prisma/migrations/: Database migration history.
  • public/: Static assets like images and icons.

About

Interview Challenges, Curated by Engineers Who’ve Been Through the Grind

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors