Giter Site home page Giter Site logo

ashe / space Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 9.08 MB

A forum that uses gamification to introduce new users to a community, made with Clojure and Reagent.

Home Page: https://aas.sh/project/space/

Dockerfile 0.61% HTML 3.53% Clojure 90.94% Shell 0.50% TSQL 4.42%
clojure clojurescript reagent re-frame react compojure ring figwheel-main website webapp

space's Introduction

What is Space?

Space is an open-source forum that I was making in order to learn Clojure. I've never done any sort of web development other than this Blog with Hakyll and some basic assignments for university.

The idea of Space came from my experiences with learning and asking questions. Sometimes, you just need to ask for help - maybe you don't know enough about the subject to ask the right questions, or maybe the bug you're experiencing isn't the code but your approach, something which is harder to learn in tutorials that show solutions rather than workflow.

Forum

When newcomers go to Stack Overflow, their first impressions can be hit or miss. If they fail to supply a project that allows for the reproduction of their error, they may get shot down before anyone offers to help. This is very important, as Stack Overflow is more of a resource than a support community, and so must maintain high-quality questions and answers to hopefully answer the further questions on the same topic in the future.

However, not all questions are about correctness - when learning, a lot of questions are merely probes for learning something new. If you're with a teacher, asking good questions is a great way to learn, but the requirement of preparing code snippets makes this rather difficult.

I intended Space to be a compliment of Stack Overflow. I want it to be a forum that a community could set up and open up to newcomers, and to encourage people to offer their advice and ideas whenever possible through gamification. With Space being open source, a community would host their own Space and have true ownership of their content. While Reddit is a great place, it did kill off most forums by having everything in one place. Because of this, a lot of communities suffer from having to do things the Reddit way, as well as their identities being shared between each community they're a part of.

Create a post

Gamification for Space

I have this idea of tags being like skill levels that you can work on while using Space. They are both the ranking system of posts as they act like a bounty value, and the incentive for people to respond to posts made by other users. It's a cycle.

The goal of a tag is to act as a level. When you make a post, you associate tags with it that will act as categories. The post will have levels associated with its tags that come from your own levels - meaning that in a programming Space, a user's Clojure level will dictate the Clojure level of their post, assuming they tagged it correctly.

User

Posts accumilate experience points through a variety of factors, but ultimately the longer the post stays up and the attention it receives increases its levels further. The higher level the post, the more experience points users will receive from participating and responding to said post. Thus, you earn points by solving people's problems or discussing their topics, and when you decide to post, your post will be considered more worthwhile for other users.

This doesn't mean that newcomers posts get placed at the back of the queue - instead, it means that their posts become easy targets for experience points as if their posts go unnoticed for too long, the experience rewards will increase and thus it becomes more eyecatching for people to look at. It also would mean that users will have a higher reward for participating in low-difficulty threads.

Tags could eventually evolve elsewhere too. They could be used as currency, used in forum games or give aways or used as roles to organise site users further.

Create

Current State

Space is currently in its early stages. You can create posts (as a guest, anonymous or as a plain old user), log in admins can see through anonymous posts. Posts are written in Markdown and tags can entered using a custom widget I created.

Sign in

Contribution

I haven't written much documentation and so contribution may be difficult right now. I'm mainly open sourcing it now so that people can ask questions or have a peek, but I accept that it's going to be a solo effort until the site becomes fully functional.

space's People

Contributors

ashe avatar

Stargazers

 avatar  avatar  avatar

Watchers

 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.