GithubHelp home page GithubHelp logo

mahimapannala / nodebb Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 80.0 5.29 MB

Node.js based forum software built for the modern web

License: GNU General Public License v3.0

Shell 0.01% JavaScript 78.25% TypeScript 0.36% CSS 0.01% HTML 0.17% Smarty 14.10% Batchfile 0.01% Dockerfile 0.01% Less 7.11%

nodebb's Introduction

NodeBB

License: GPL v3

NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format โ†’ categorical hierarchies, local user accounts, and asynchronous messaging.

NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.

This repository is a forked version of the base NodeBB repository with various modifications to support curriculum use.

Theming

NodeBB's theming engine is highly flexible and does not restrict your design choices. This version of the repository has our minimalist "Persona" theme installed to get you started.

NodeBB's base theme utilizes Bootstrap 3 but themes can choose to use a different framework altogether.

Installation

Please refer to platform-specific installation documentation

For feature development, we highly recommend you install and use the suggested grunt-cli to enable file-watching and live refresh.

When running in a development environment, you can find the API specs for NodeBB at http://localhost:4567/debug/spec/read and http://localhost:4567/debug/spec/write.

TypeScript

This codebase is in the process of being translated toTypeScript! During this intermediate stage, translated files will contain both a .ts and .js file in the repository. Translated files should be edited only in the .ts file; corresponding .js files will be automatically compiled and generated by the % npx tsc command.

If using VSCode, you can remove duplicate files from your Explorer view by adding the following to your .vscode/settings.json file:

{
    "files.exclude": {
        "**/*.js": { "when": "$(basename).ts" },
        "**/**.js": { "when": "$(basename).tsx" }
    }
}

Development Tools

This repository comes with tools for linting (ESLint), testing (Mocha), and coverage reporting (nyc). All of these tools can be run locally:

% npm run lint      // Runs the linter
% npm run test      // Runs test suite + generates coverage report

The first time you run the test command, it will ask you to provide a configuration for a test database. Depending on your local database setup (likely Redis), follow the instructions to add a test database configuration to config.json, then re-run the command.

After running the test suite, you can find the coverage report generated in the coverage directory. This can be viewed in the browser by opening the index.html file in this directory.

If you want to directly run the linting and testing commands with specific configurations (i.e. only running the test suite on specific files, using --fix with ESLint), you can find the underlying commands are in the package.json file.

License

NodeBB is licensed under the GNU General Public License v3 (GPL-3) (http://www.gnu.org/copyleft/gpl.html).

Helpful Links

nodebb's People

Contributors

angelaz1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.