Artemis

Nexus - School-time projects

A simple and lightweight portal for your webserver

My first project of this type is called "Nexus".

It is, as its name shows, a nexus to join every of my websites/projects/tools in a single central page, under the form of a list.

Aimed to be easily used, it's simply a static page with a list and a bit'o'informations.

How it works

A project, website and whatever you want can be added by adding or linking a JSON config file in the /websites/ subdirectory.
Of course, the JSON file must follow a few "norms"!

Must be provided 3 fields, which are the following:

Alternatively, can be added the following two fields:

But simply making the JSON files by hand is quite boring.

Instead, I wrote a small python script to auto generate the JSON files. You'll note that the script is quite minimalistic and prevent almost nothing, so you kinda must get every field right or else you'd need to restart from scratch.
This can be problematic, and that's one of the things I'll work on, to make the script a bit more "intelligent", so it'll be easier to check and change some infos while creating the script.

What about the website?

Keeping the minimalistic idea in mind, and since I'm a pretty bad designer, I decided to go with the cool Skeleton CSS library, as-is (without modifying anything).

Well, I must say it works wonders!

And what about the core website functionalities? What if I have a shitton of projects and want to search for a specific one?

I'd say ctrl+F but that would be annoying. Right?

Instead, I wrote a bit of vanilla javascript in-page, to add some search'n'sort functionality.

I sacrificed a few milliseconds of loading time (growing exponentially following how many projects you have) to add a sorter (by alphabetical, author name and category) and a search bar.

And, even if the light-loading aspect has been lost a bit, I think that now the website is also more useable, which is an important criteria too.

UX and performance, OK!

Where can I find the project?

The project can be found here and is not technically under any licence for now, I'll look into that later.

For a showcase, it is active and used here.

Conclusion

In short, a small and pretty cool project that have been done on my spare time, and now, thanks to that, it's a bit easier for me to manage my websites on my server!