Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/khoido2003/overflow-web

Code Overflow, a modern platform inspired by Stack Overflow, designed to help developers ask and answer coding questions efficiently. The frontend is built using cutting-edge web technologies to ensure a seamless and user-friendly experience.
https://github.com/khoido2003/overflow-web

authjs nextjs nodejs postgresql prisma tailwindcss typescript uploadthing

Last synced: 19 days ago
JSON representation

Code Overflow, a modern platform inspired by Stack Overflow, designed to help developers ask and answer coding questions efficiently. The frontend is built using cutting-edge web technologies to ensure a seamless and user-friendly experience.

Awesome Lists containing this project

README

        

# Code Overflow


Code Overflow Icon










Welcome to Code Overflow, a modern platform inspired by Stack Overflow, designed to help developers ask and answer coding questions efficiently. This project leverages cutting-edge web technologies to deliver a seamless, user-friendly experience.

## Table of Contents

- Project Overview
- Features
- Tech Stack
- Frontend
- Backend
- Installation
- Prerequisites
- Frontend Setup
- Backend Setup
- Usage
- Contributing
- License

## Project Overview

Code Overflow aims to be a comprehensive Q&A platform for developers. Users can post questions, provide answers, engage in discussions, and vote on the best solutions. Our platform is built to encourage user engagement and foster a collaborative environment among developers.

## Features

- **User Authentication and Authorization:** Secure login and registration.
- **Question and Answer Management:** Post, edit, and delete questions and answers.
- **Voting and Commenting:** Upvote and downvote answers, and add comments.
- **Tagging System:** Categorize questions with relevant tags.
- **User Profiles:** Track user activities and contributions.
- **Responsive Design:** Optimized for both mobile and desktop views.
- **Image Uploading:** Easily upload and manage images.

## Tech Stack

### Frontend

- **Next.js:** A React framework for server-side rendering and static site generation.
- **React:** A JavaScript library for building user interfaces.
- **Tailwind CSS:** A utility-first CSS framework for rapid UI development.
- **Auth.js:** A library for secure authentication.
- **TypeScript:** A typed superset of JavaScript for better code quality and maintainability.
- **TanStack Query:** A powerful data fetching and state management library.

### Backend

- **Express.js:** A web application framework for Node.js.
- **Node.js:** A JavaScript runtime for server-side development.
- **Prisma:** An ORM for interacting with PostgreSQL.
- **PostgreSQL:** A relational database management system.
- **TypeScript:** A typed superset of JavaScript for better code quality and maintainability.
- **Uploadthing:** A service for handling image uploads and storage.

## Installation

### Prerequisites

Ensure you have the following installed on your system:

- Node.js (v18 or higher)
- npm or yarn
- PostgreSQL

### Frontend Setup

1. Clone the repository:

```bash
git clone https://github.com/khoido2003/overflow-web.git
```

2. Install dependencies:

```bash
npm install
# or
yarn install
```

3. Create a `.env` file in the root of the frontend directory and add the necessary environment variables:

```env
AUTH_SECRET=
JWT_EXPIRES_IN=
JWT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
TINY_EDITOR_KEY=
NEXT_PUBLIC_API_REQUEST_PREFIX=
DATABASE_URL=
```

4. Run the development server:
```bash
npm run dev
# or
yarn dev
```

### Backend Setup

The backend setup instructions can be found in the [backend repository](https://github.com/khoido2003/overflow-api).

## Usage

Once both the frontend and backend servers are running, you can access the application at [http://localhost:3000](http://localhost:3000).

## Screenshots

1
2
3
4

## Contributing

We welcome contributions to Code Overflow! To contribute:

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

Please ensure your code adheres to our coding standards and includes relevant tests.

## License

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