Skip to content

Repository files navigation

DevGuide Platform

A collaborative platform for software development guides where users can learn, contribute, and improve content together.

Features

  • 📚 Step-by-Step Guides: Follow comprehensive tutorials for building real-world applications
  • 👍 Community Voting: Vote on whether guides helped you succeed
  • ✏️ Propose Improvements: Suggest edits that can replace original content when approved
  • 💬 Step Comments: Discuss specific steps and get help from the community
  • ➕ Create New Chapters: Share your knowledge by proposing new chapters

Tech Stack

  • Framework: Next.js 15 with App Router
  • Database: SQLite with Prisma ORM
  • Authentication: NextAuth.js
  • Styling: Tailwind CSS
  • UI Components: Radix UI
  • Markdown: React Markdown with GitHub Flavored Markdown

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Git

Installation

  1. Clone the repository:
cd /Users/jonathan/projects/hackathon1/devguide-platform
  1. Install dependencies:
npm install
  1. Set up the database:
npx prisma migrate dev
  1. Seed the database with sample data:
npm run db:seed
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

Test Credentials

  • Email: test@example.com
  • Password: password123

Project Structure

devguide-platform/
├── app/                    # Next.js app directory
│   ├── api/               # API routes
│   ├── auth/              # Authentication pages
│   ├── chapters/          # Chapter pages
│   └── dashboard/         # User dashboard
├── components/            # React components
├── lib/                   # Utility functions
├── prisma/               # Database schema and migrations
└── public/               # Static assets

Key Features Implementation

1. Chapter System

  • Users can browse existing chapters
  • Each chapter contains multiple steps with markdown content
  • Chapters are created by users and can be improved by the community

2. Voting System

  • Users vote on whether each step helped them complete the task
  • Success rates are displayed for each step
  • Helps identify which content is most effective

3. Edit Proposals

  • Users can propose improvements to any step
  • Proposals are voted on by the community
  • When a proposal reaches 80% approval with at least 5 votes, it automatically replaces the original content

4. Comment System

  • Threaded comments on each step
  • Users can reply to comments
  • Helps build community discussion around specific implementation details

5. New Chapter Proposals

  • Any authenticated user can propose a new chapter
  • Includes title, description, and multiple steps
  • Auto-generates URL-friendly slugs

Environment Variables

Create a .env file in the root directory:

DATABASE_URL="file:./dev.db"
NEXTAUTH_SECRET="your-secret-key-here"
NEXTAUTH_URL="http://localhost:3000"

Development

Database Commands

# Run migrations
npx prisma migrate dev

# Open Prisma Studio
npx prisma studio

# Reset database
npx prisma migrate reset

Building for Production

npm run build
npm start

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is open source and available under the MIT License.

About

Collaborative platform for software development guides with community voting and content improvement

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages