A modern JavaScript/TypeScript-based community platform built with Next.js 16, migrating from Discourse (Ruby).
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.
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
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Runtime: Bun (preferred) / Node.js
- Styling: TailwindCSS v4
- Linting/Formatting: Biome
- React Version: 19.2.3
Before you begin, ensure you have one of the following installed:
- Clone the repository
git clone https://github.com/ashutoshpw/js-community.git
cd js-community- Navigate to the Next.js application
cd js-community- Install dependencies
Using Bun (recommended):
bun installOr using npm:
npm installStart the development server:
# Using Bun (recommended)
bun dev
# Or using npm
npm run devOpen http://localhost:3000 in your browser to see the application.
Build the application:
# Using Bun
bun run build
# Or using npm
npm run buildStart the production server:
# Using Bun
bun start
# Or using npm
npm startLint your code:
# Using Bun
bun run lint
# Or using npm
npm run lintFormat your code:
# Using Bun
bun run format
# Or using npm
npm run format- Create a new branch for your feature or fix
- Make your changes in the
js-community/directory - Run
bun run lintto check for issues - Run
bun run formatto format your code - Test your changes locally with
bun dev - Build the project with
bun run buildto ensure it compiles - Commit your changes and create a pull request
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.
- 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
Contributions are welcome! Please follow these guidelines:
- Follow the code standards defined in
.github/copilot-instructions.md - Use TypeScript for all new code
- Follow the existing project structure
- Ensure all linting and formatting checks pass
- Write clear commit messages
- Update documentation as needed
[Add your license information here]
- Next.js Documentation
- TypeScript Documentation
- Bun Documentation
- TailwindCSS Documentation
- Biome Documentation
- React Documentation
If you encounter any issues or have questions, please open an issue on GitHub.
🚧 In Active Development - Migrating from Discourse to Next.js
Built with ❤️ using Next.js, TypeScript, and Bun