All Projects → nim-lang → Nimforum

nim-lang / Nimforum

Licence: mit
Lightweight alternative to Discourse written in Nim

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to Nimforum

Mybb
MyBB is a free and open source forum software.
Stars: ✭ 750 (+43.4%)
Mutual labels:  forum, sqlite
Denodb
MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno
Stars: ✭ 498 (-4.78%)
Mutual labels:  sqlite
Selda
A type-safe, high-level SQL library for Haskell
Stars: ✭ 435 (-16.83%)
Mutual labels:  sqlite
Evolve
Database migration tool for .NET and .NET Core projects. Inspired by Flyway.
Stars: ✭ 477 (-8.8%)
Mutual labels:  sqlite
Androidwithkotlin
🚀 These are android sample projects which are written in Kotlin. It covers video streaming, mp3 player, sqlite, location services, custom camera, o-notifications, simple compass etc.
Stars: ✭ 447 (-14.53%)
Mutual labels:  sqlite
Netcorebbs
ASP.NET Core Light forum NETCoreBBS
Stars: ✭ 483 (-7.65%)
Mutual labels:  forum
Sqlprovider
A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.
Stars: ✭ 423 (-19.12%)
Mutual labels:  sqlite
Go Sqlite3
sqlite3 driver for go using database/sql
Stars: ✭ 5,313 (+915.87%)
Mutual labels:  sqlite
Phpmyfaq
phpMyFAQ - Open Source FAQ web application for PHP and MySQL, PostgreSQL and other databases
Stars: ✭ 494 (-5.54%)
Mutual labels:  sqlite
Django Dbbackup
Management commands to help backup and restore your project database and media files
Stars: ✭ 471 (-9.94%)
Mutual labels:  sqlite
Medoo
The lightweight PHP database framework to accelerate the development.
Stars: ✭ 4,463 (+753.35%)
Mutual labels:  sqlite
Beam
A type-safe, non-TH Haskell SQL library and ORM
Stars: ✭ 454 (-13.19%)
Mutual labels:  sqlite
Maghead
The fastest pure PHP database framework with a powerful static code generator, supports horizontal scale up, designed for PHP7
Stars: ✭ 483 (-7.65%)
Mutual labels:  sqlite
Android Orma
An ORM for Android with type-safety and painless smart migrations
Stars: ✭ 442 (-15.49%)
Mutual labels:  sqlite
Postfixadmin
PostfixAdmin - web based virtual user administration interface for Postfix mail servers
Stars: ✭ 509 (-2.68%)
Mutual labels:  sqlite
Bolt
Bolt is a simple CMS written in PHP. It is based on Silex and Symfony components, uses Twig and either SQLite, MySQL or PostgreSQL.
Stars: ✭ 4,136 (+690.82%)
Mutual labels:  sqlite
Scoold
A Stack Overflow clone for teams (self-hosted)
Stars: ✭ 463 (-11.47%)
Mutual labels:  forum
Pointblank
Data validation and organization of metadata for data frames and database tables
Stars: ✭ 480 (-8.22%)
Mutual labels:  sqlite
Bebop
Bebop is a simple discussion board / forum web application
Stars: ✭ 513 (-1.91%)
Mutual labels:  forum
Adminer
Database management in a single PHP file
Stars: ✭ 4,999 (+855.83%)
Mutual labels:  sqlite

nimforum

NimForum is a light-weight forum implementation with many similarities to Discourse. It is implemented in the Nim programming language and uses SQLite for its database.

Examples in the wild

forum.nim-lang.org

forum.nim-lang.org

Features

  • Efficient, type safe and clean single-page application developed using the Karax and Jester frameworks.
  • Utilizes SQLite making set up much easier.
  • Endlessly customizable using SASS.
  • Spam blocking via new user sandboxing with great tools for moderators.
  • reStructuredText enriched by Markdown to make formatting your posts a breeze.
  • Search powered by SQLite's full-text search.
  • Context-aware replies.
  • Last visit tracking.
  • Gravatar support.
  • And much more!

Setup

See this document.

Dependencies

The following lists the dependencies which you may need to install manually in order to get NimForum running, compiled*, or tested†.

  • libsass
  • SQLite
  • pcre
  • Nim (and the Nimble package manager)*
  • geckodriver
    • Firefox†

[*] Build time dependencies

[†] Test time dependencies

Development

Check out the tasks defined by this project's nimforum.nimble file by running nimble tasks, as of writing they are:

backend              Compiles and runs the forum backend
runbackend           Runs the forum backend
frontend             Builds the necessary JS frontend (with CSS)
minify               Minifies the JS using Google's closure compiler
testdb               Creates a test DB (with admin account!)
devdb                Creates a test DB (with admin account!)
blankdb              Creates a blank DB
test                 Runs tester
fasttest             Runs tester without recompiling backend

To get up and running:

git clone https://github.com/nim-lang/nimforum
cd nimforum
git submodule update --init --recursive

# Setup the db with user: admin, pass: admin and some other users
nimble devdb

# Run this again if frontend code changes
nimble frontend

# Will start a server at localhost:5000
nimble backend

Development typically involves running nimble devdb which sets up the database for development and testing, then nimble backend which compiles and runs the forum's backend, and nimble frontend separately to build the frontend. When making changes to the frontend it should be enough to simply run nimble frontend again to rebuild. This command will also build the SASS nimforum.scss file in the public/css directory.

With docker

You can easily launch site on localhost if you have docker and docker-compose. You don't have to setup dependencies (libsass, sglite, pcre, etc...) on you host PC.

To get up and running:

cd docker
docker-compose build
docker-compose up

And you can access local NimForum site. Open http://localhost:5000 .

Troubleshooting

You might have to run nimble install [email protected]#5f21dcd, if setup fails with:

[email protected] ~/projects/forks/nimforum> nimble --verbose devdb
[...]
 Installing [email protected]#5f21dcd
       Tip: 24 messages have been suppressed, use --verbose to show them.
     Error: No binaries built, did you specify a valid binary name?
[...]
     Error: Exception raised during nimble script execution

The hash needs to be replaced with the one specified in output.

Copyright

Copyright (c) 2012-2018 Andreas Rumpf, Dominik Picheta.

All rights reserved.

License

NimForum is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].