DEV Community

Mikkel D.
Mikkel D.

Posted on

Shell Forum - bringing the traditional forum to the terminal

Sometimes you just want to try something new and different. If you have ever used a BBS (not that I have - not my time) it could be compared to that, but here you have a full Linux terminal. This project is me trying to create a new platform for sharing ideas with others, many people love the terminal and use it as much as they can. Shell-Forum is a project that aims at this interest at terminals by being a forum in complete terminal form.

Why?

It was just a random thought I had, it started off from looking at how to make a shell, finding Stephen Brennan's tutorial on how to make one in C flipped a bit inside my head. So this project is here to satiate wanting to build something like that, it also helps me with learning C.

How it's going to work

There are no database but instead it simply uses file structures and directories for storing data in plaintext form.

Each user has their own home directory where they can make and work on posts, other users can also go in there and personally see what this person has written, but of course can't make any changes.

When a user is ready to put their post out into the forum they use the commit command. Doing commit ls will show a list of all the forums the user can commit to. When they've chosen they just go commit and it will be copied into the forum and change them to the owner of that post.

Using a search command users can also use keywords to look for posts in the forum.

Additionally, two other commands will be created, view and comment. The view command will give a more visual output of the post formatting it with markdown, as well as displaying any and all comments. The comment command will just be used to create a command.

To-Do

  • Add view command that will display formatted posts in markdown format and show comments at the end.
  • Add coment command to respond to a post, comments will be in a directory named like so .comments-<post_name>
  • Search "menu"
  • Optimizations
  • Other improvements and fixes

Top comments (0)