Skip to content

ashutoshpw/js-community

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JS Community

A modern JavaScript/TypeScript-based community platform built with Next.js 16, migrating from Discourse (Ruby).

🚀 Overview

This repository contains the JS Community platform, a Next.js 16 application that is migrating from a Discourse-based (Ruby) community forum to a modern, full-stack JavaScript/TypeScript solution.

📁 Repository Structure

js-community/
├── .github/                    # GitHub configuration and workflows
│   ├── copilot-instructions.md # GitHub Copilot coding agent instructions
│   └── copilot-setup-steps.yml # Environment setup for Copilot
├── discourse/                  # Legacy Discourse (Ruby) application
├── js-community/               # Main Next.js application
│   ├── src/                    # Source code
│   │   └── app/                # Next.js App Router pages
│   ├── public/                 # Static assets
│   ├── biome.json              # Biome configuration
│   ├── next.config.ts          # Next.js configuration
│   ├── package.json            # Project dependencies
│   ├── postcss.config.mjs      # PostCSS and TailwindCSS v4 configuration
│   └── tsconfig.json           # TypeScript configuration
└── scripts/                    # Build and deployment scripts

🛠️ Technology Stack

📋 Prerequisites

Before you begin, ensure you have one of the following installed:

  • Bun (recommended) - Latest version
  • Node.js - Version 20 or higher
  • npm - Comes with Node.js

🚀 Getting Started

Installation

  1. Clone the repository
git clone https://github.com/ashutoshpw/js-community.git
cd js-community
  1. Navigate to the Next.js application
cd js-community
  1. Install dependencies

Using Bun (recommended):

bun install

Or using npm:

npm install

Development

Start the development server:

# Using Bun (recommended)
bun dev

# Or using npm
npm run dev

Open http://localhost:3000 in your browser to see the application.

Building for Production

Build the application:

# Using Bun
bun run build

# Or using npm
npm run build

Start the production server:

# Using Bun
bun start

# Or using npm
npm start

Code Quality

Lint your code:

# Using Bun
bun run lint

# Or using npm
npm run lint

Format your code:

# Using Bun
bun run format

# Or using npm
npm run format

📝 Development Workflow

  1. Create a new branch for your feature or fix
  2. Make your changes in the js-community/ directory
  3. Run bun run lint to check for issues
  4. Run bun run format to format your code
  5. Test your changes locally with bun dev
  6. Build the project with bun run build to ensure it compiles
  7. Commit your changes and create a pull request

🔄 Migration from Discourse

This project is actively migrating from a Discourse-based community platform to a Next.js application. The discourse/ directory contains the legacy Ruby application for reference during the migration process.

Migration Goals

  • Maintain feature parity with the existing Discourse platform
  • Improve performance and user experience
  • Leverage modern web technologies and frameworks
  • Ensure data integrity during the migration process

🤝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Follow the code standards defined in .github/copilot-instructions.md
  2. Use TypeScript for all new code
  3. Follow the existing project structure
  4. Ensure all linting and formatting checks pass
  5. Write clear commit messages
  6. Update documentation as needed

📄 License

[Add your license information here]

🔗 Useful Links

🐛 Issues & Support

If you encounter any issues or have questions, please open an issue on GitHub.

🎯 Project Status

🚧 In Active Development - Migrating from Discourse to Next.js


Built with ❤️ using Next.js, TypeScript, and Bun

About

Community platform for JavaScript developers, built with Next.js 16 — migrating from Discourse

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages