DSHack

Archive Generated December 23rd, 2018
New apps coming soon; better coding and a modern experience
Author Posted on 2018/01/24
#3705
テクニカル諏訪子 I've been talking about that with the DSH staff for some time now, but always ended up empty handed.
This is because of a deadline I had to make.
But the good news is that I reached it, and finally got the time to actually get started!

Instead of coding 100% of the codebase from scratch, we decided to use Laravel for the backend, and Vue.js for the frontend.
Axios is used for communication between the 2, and Moment.js for time formatting.

I'm porting the Hack Store over first, since that's the most popular app we have here.

For each app, I go through the following steps:
① Remake all the features we already have in the modern codebase, and leave the MySQL database untouched.
② Design it the way it'll appeal.
③ Implement any new features I've got in mind (a few features will be implemented in step 1, since Laravel does that for me basically).
④ Put it up for a beta test, users will be able to use both the new and old code concurrently, since both systems use the same database.
⑤ Replace the old with the new.
⑥ Make the source code publicly available.
⑦ Start the next app from step 1 again.

There'll be some cool additions that might be useful for you too, like an open API.
The API is something Laravel creates for us, all API calls are getting outputted as a JSON object, which might be useful to create mobile apps, desktop apps, or even use it in homebrew software (looking at CTGP-7).
Or you can create an alternative website with a different look and feel, but still uses the same data.

For the Hack Store, I plan on implementing a feature that allows people to donate the uploaders via Bitcoin and/or PayPal.
This however is currently a "want to have" feature, I'm not sure if I can implement it without making deals with PayPal (though at least Bitcoin should be possible).

Another one would be the ability to leave comments on entries.

And there'll be a bit of a twist too, because it'll no longer be limited to Mario Kart DS and Mario Kart 7 only, creators of mods for other games will be welcome in the new Hack Store too.
To make it happen, there'll be no approval process any more, so broken mods should be reported instead.

I'll make sure I can show a little demo at least by the end of this month.
Author Posted on 2018/01/25
#3706
SGC Yellow Sounds nice, I think.
I'm interested to see what you have in store.
Author Posted on 2018/01/30
#3720
テクニカル諏訪子 I'm slacking a little bit behind, but I promised ey.

Here's the first impression of what I've got so far.
Please don't mind the (bad?) design, I didn't get to this part yet!

Screenshot 1: what you as a user can see.


Screenshot 2: what's going on in the background.


The JSON stuff you see on the second screenshot are actual API calls, which can be used in 3rd party apps.
The JSON is made based on the already existing database, meaning the data will be used as is, so without any modifications (until we get to the point we can implement a bunch of new features of course).
Author Posted on 2018/02/06
#3726
テクニカル諏訪子 Minor update incoming!








Features, design, etc. are still subject to change or yet to be implemented though.
Author Posted on 2018/02/06
#3727
SGC Yellow Coming along faster than I thought it would.
Author Posted on 2018/02/06
#3728
テクニカル諏訪子 That's probs the best thing about using widespread frameworks instead of creating everything from scratch.
It can take a while to find the best toolkits to work with, but once you're there, you can create stuff at rapid speed (and it's even more stable than what you would achieve from scratch too).
Author Posted on 2018/02/09
#3730
テクニカル諏訪子 Just a little thing I've been working on today.

Author Posted on 2018/02/15
#3735
テクニカル諏訪子 Moar previews!
Author Posted on 2018/02/26
#3748
テクニカル諏訪子 DenkiBoard is still far from complete (though at least most of the topic and post stuff is functional now).
But I'll have an important interview tomorrow that will probably require me to show off some more modern era style coding, so I made them open source now.
And that might allow others to start contributing too, except there's no full database file yet (though it's no problem for me to put one up).

Server side (backend) code: https://git.076.ne.jp/076/community/076Server
Website/mobile app/desktop app (frontend) code: https://git.076.ne.jp/076/community/DenkiBoard

Simply said: the backend code is what generates API calls, while the frontend code is what will become the official app for web, iOS, Android, Linux, macOS, and Windows.
Thanks to the backend code being separated, everyone can create an alternative frontend application and still be able to access the forum they would normally visit through the official frontend apps.
Author Posted on 2018/02/28
#3750
テクニカル諏訪子 A bit more news to show: I've merged the local menu's and global menu in a single menu, to make room for the users online list.
And I ditched Material UI icons in favour for Font Awesome, since I kept struggling to find any non-casual icons for too long.


Author Posted on 2018/03/01
#3754
テクニカル諏訪子 I have some milestones to mention.
There are 4 pre-beta milestones, 2 post-beta, and 2 RC.
Pre-beta 1 is currently 44% done, and is nicely on schedule.
Once pre-beta 4 is complete, a public beta test will be launched, which is planned for the 27th of April.

Once post-beta 2 is complete, YamiBoard on this site will be replaced by DenkiBoard.
I should notice that we'll be switching from SHA-256 password hashing to Bcrypt, for that reason we're developing a porting system which all already existing members should go through once if they want to continue to use this site (or apps for this matter).

During RC 1 and 2 we'll be developing the documentation and object database sections respectively, which'll appear as simple placeholders at initial launch.

Pre beta objectives
Pre beta 1 (Placomda: 9th of March):
- Display name bug fixes in certain parts.
- Member profiles.
- Download from the Hack Store.
- Update Hack Store entries.
- Remove/restore Hack Store entries (new feature).
- Game sections in the Hack Store (different from categories) (new feature).
- Hack Store uploader (modernised).

Pre beta 2 (Placomda: 23th of March):
- Board: category CRUD.
- Board: forum CRUD.
- Board: topic CRUD.
- Board: topic management (close/open, move, merge, pin/unpin).
- Board: post management (isolate/unify, quote, split, edit, remove/unremove, link).
- Image hosting: show images.
- Image hosting: upload images (revamp).

Pre beta 3 (Placomda: 30th of March):
- User registration.
- Fix markups.

Pre beta 4 (Placomda: 13th of April):
- Public chat (replaces shoutbox).
- Team chat (new).
- Private chat (replaces PM).
- User preference: change theme colour (new).
- User preference: dark/light theme toggle (new).

(Public beta test of a fresh installation!)

--------------

Post beta 1 (Placomda: 27th of April):
- Image hosting: image management (replace, delete) (new).
- User: friends (new).
- User: enemies (replaces "block user").
- User: friend request (new).
- Store: report entries (revamp).

Post beta 2 (Placomda: 11th of May):
- Pages: create pages through database.
- Board: forum/topic bookmarks (new).
- User: port account from YamiBoard (plans for IP.Board and MyBB too) (new).
- User: password reset (new).

(All YamiBoard-powered forums will be replaced by DenkiBoard (which means just this site)!)
And after post beta 2, I'll have 2 weeks of no development activities due to my planned holiday trip to Tokyo.

Placomda = planned completion date.
Author Posted on 2018/03/08
#3764
テクニカル諏訪子 While still working on the uploader (the only thing that's left is to fix the upload script in the backend), I felt like adding a little easter egg to the backend app.
Until now, visiting the backend from the browser through the root (so no API path) would give you a 404 error.

I know that Linux without a DE would only give you a command line interface, and and users can decide their own DE.
I realised that DenkiBoard is quite similar in this aspect, because there's 1 backend and 1 official frontend, but users are still free to create a 3rd party frontend app.
So I decided to fill in the remaining gap by adding a web-based command line interface to the backend.
It's far from finished, because I'm still playing around a little bit with that one.

But here is the "ls" command for example:


If your user account happens to have the appropriate permissions, you can use the "sudo" command too:


And a fallback in case you executed a non-existing command:


Keep in mind that this is all meant to be basic, so don't expect anything ncurses-powered apps or package managers to be implemented here!
Author Posted on 2018/04/11
#3803
テクニカル諏訪子 I had some deadlines going on shortly after the last post in this topic, meaning I was unable to keep to this schedule, sorry about that.
On the positive side, I have decided to make separate apps out of this after all, so I can focus on more specific stuff now.

For websites, I have FreeJournal (successor to KotoPasta).
For forums and chats, I have DenkiBoard (successor to YamiBoard).
Hack Store is separate application now.
Faktur is a brand new app that makes use of 076 Server too, but this is a project from the productivity team instead of the community team, and it's an invoicing app and therefore will serve no purpose to DSHack.

Object Database is currently pending for later, and WikiDocs (working title) was put to the consideration state (use it or not?).

I mention it here because this is currently the place I announce stuff.
But as soon as at the very least 076 Server, FreeJournal, and DenkiBoard are suitable for a beta test, I'll stop announcing stuff here and start doing so on a separate website instead.
Author Posted on 2018/04/12
#3806
テクニカル諏訪子 Before the first beta can be launched, I have a very few essential things left to do.
The good news is that those are very easy to implement, so it won’t take long now.

Those are:
- Create a new topic.
- Edit profile.
- Move topic.
- Split topic.
- Merge topic.
- Quote someone.

Once the first beta test is online, I’ll start with the new cool stuff.

Today I have secured the API calls.
Get calls will assume you’re a guest if you won’t pass your username and hashed password.
Post calls will just error out if you try to call them without these.

Additionally, I’ll try to prepare some sample code in a few other programming languages to give you an idea on how you can make a custom frontend later on.
Author Posted on 2018/04/12
#3807
テクニカル諏訪子 Video preview:
Author Posted on 2018/04/17
#3810
テクニカル諏訪子 I have a buggy as hell 0.0.9 pre-beta build online now.
View it here:
https://board.076.ne.jp/#/board/home

Note: even though lots of moderator or admin options are even accessible to guests for the moment, no harm can be done unless you're admin.
It's a known issue, and will be solved by beta 1.
Author Posted on 2018/09/25
#4275
Azareal I like how everything is bigger, it makes it easier to read things.