Activity

Definitely Not A Dolphin

Shipped this project!

Hours: 10.98
Cookies: 🍪 223
Multiplier: 20.33 cookies/hr

Made small but powerful backends with the kuusi framework. Featuring

  • Automatic env and dotenv parsing,
  • File based routing,
  • Easy yet powerful configging,
  • An init command so you don’t have to do the boring setup.
  • Well written markdown documentation
  • (new!!) A website for the framework (kuusi.dev)
  • And more!
Definitely Not A Dolphin

The site is finished and ready for reshipping!!!!

I didn’t actually think I would be able to finish it all but here we are. It looks like I overcame my frontend skill issue (we don’t talk about the docs) and made something solid. I used Deno Fresh (fullstack framework I NEVER used before), Tailwind CSS (css framework i also NEVER used before) and TypeScript (which I have used before, duh). I used the GitHub API to fetch some data for the community section and asked some friends to say something positive about it so I could display some quotes!!!

0
Definitely Not A Dolphin

A painful decision

Due to the time limit of Flavortown, my sanity and my frontend skill issue I have to scrap the automated docs from the website and keep the markdown docs as the currently main documentation source. Frontend development gives me a lot of headaches and also, it’s for me just an unfun experience.

However, this gives me more time for other cool stuff on the main page, like an island with stats freshly received from github!!

1

Comments

Jessi Flessi
Jessi Flessi 2 days ago

me mentioned

Definitely Not A Dolphin

The automatic documentation is almost finished 🎉

To do

  • Automatically generate the table of contents and label everything so the hotlinks work
  • Polish the css a bit on the main page and add some misc links!
0
Definitely Not A Dolphin

kuusidotdev is LIVE!!

I bought the kuusi.dev domain at cloudflare and deployed it on deno deploy (which is goated btw, not sponsored), and now I am learning TailwindCSS and Fresh for this website, I hope yall like it ^_^

Attachment
1

Comments

dark
dark 3 days ago

yaaayyyyy

Definitely Not A Dolphin

init v0.1.3

Even better init script, now also

  • checks whether project directory is empty,
  • doesn’t tell you to cd into the project directory if you are already in it.
Attachment
1

Comments

Jessi Flessi
Jessi Flessi 14 days ago

looks great

Definitely Not A Dolphin

v1.1.1

  • Better init script, instead of an unsafe curl bash pipe, you can now use the @kuusi/init package to initiate your next trillion dollar kuusi app!
Attachment
0
Definitely Not A Dolphin

Shipped this project!

Hours: 36.63
Cookies: 🍪 650
Multiplier: 17.75 cookies/hr

Some time ago I had this idea for a website for managing To Do’s, but since I hate frontend development, I only made the backend for it. While developing, I had this idea for a file based router that would automatically grab all routes and use their file path as a URL, and kuusi was born.

I chose for JSR over NPM because I don’t have to turn the entire library into .js and .d.ts files myself.

I am very proud of this project, I try to make it look as professional as possible, I do this with

  • Keeping a nicely organized monorepo,
  • Keeping track of everything in a CHANGELOG.md,
  • Writing unit tests,
  • Writing detailed and well written documentation for everything.

If I had the technical skills and tools for making a website for kuusi with the docs and all I would definitely have done that, but alas, I don’t.

Definitely Not A Dolphin

v1.1.0: The Flexibility Update

  • Fixed the order in which the pathnames are checked for matches such that the generic pathnames (aka those starting with colons) are checked after the normal pathnames. This makes sure they don’t “claim” URL’s that have route parameters in them when they aren’t supposed to.
  • Rethought almost all errors to rely more on documentation rather on the small descriptions they show themselves, so they can be explained better in the documentation.
  • Adding routes from files outside of the routes directory is now supported, just use the Route class (was previously a type alias) and pass the file name to kuusi.config.ts and kuusi will import that route for you!
  • Added unit tests for the KuusiConfig class.
  • Renamed template dotenv to required dotenv, because I realised that is a better discription.
Attachment
0
Definitely Not A Dolphin

Version 1.0.1

Changelog

  • Updated the docs, there were some inconsistencies because my ADHD makes me forget everything
  • Made a simple guide because I realised I never actually told anyone how to get started
Attachment
0
Definitely Not A Dolphin

Version v1.0.0 everyone !!!1!!11!!

Dolphin’s back, back again!

Changelog

0.4.5

  • Removed two useless interfaces, because I learned that classes generate both a value (constructor function) and the interface in TypeScript.

1.0.0

  • Redid the configuration so now KuusiConfig is a class, not an interface. This cleans up the mess of semi-manually type checking the config and assigning default values.
  • Apparently the colon (:) character is reserved on windows for file names, so on windows you can use the semicolon (;) instead

Other notes

I had a really weird error during development that took 5 HOURS and 5 ppl to fix it, it turned out to be a triple dependency cycle which is crazy imo.

Attachment
0
Definitely Not A Dolphin

v0.4.4

This is actually one of the last versions before v.1.0.0. I have said that before but now I actually mean it.

Changed:

  • Fixed the importing of kuusi.config.ts not working at all.
  • Fixed most of the quirkyness of config.ts.
  • Added a new config option for required dotenv keys.

I will also now work with alpha releases because jsr forces me to test some thing in production (after I published to jsr)

I also started on the CLI again, but with a different approach now.

Attachment
0
Definitely Not A Dolphin

0.4.3

I didn’t skip a version I just didn’t log it because it was 45 minutes of work.

I did

  • Better documentation
  • bugs patched
  • Reach a jsr-score of 94% whooo!

That’s basically it, I am running out of ideas to implement, so if anyone reads this please give me some!

Attachment
0
Definitely Not A Dolphin

Version v0.4.1

Jahooo, added some small things, patched some bugs, finalized webhooks and looking for a way to implement websockets, but I don’t know whether I can do that.

Attachment
Attachment
0
Definitely Not A Dolphin

Don’t really know what to work on, webhook testing is really annoying because I need to maintain two servers at once that I need to mentally seperate and on codespaces that is not something I enjoy.

I have just been writing more documentation to procrastinate doing anything actually useful

Attachment
0
Definitely Not A Dolphin

Did so much I literally couldn’t even remember what I started with, but here is more code for you to nibble on

Attachment
0
Definitely Not A Dolphin
"RegEx".replace(/e.e/i, "agse");

Why is it that every time I release something it breaks instantly like wtf. Anyway webhooks are in development so thats that

Attachment
0
Definitely Not A Dolphin

Version 0.3.0 babyyyyyyyy.

The configging is now categorized, which was way harder to implement than it had any right to be. Fixed bugs, patched glitches, all that typa stuff.

I am going to work on webhooks now for version 0.4.0, and after that websockets for version 0.5.0.

Attachment
0
Definitely Not A Dolphin

Dear diary, today I had to cast a variable to itself to prevent a type error with never in my code. never wasn’t even present, it just showed up just to cause the type error. This makes me understand why people hate TypeScript.

Config parsing is done. Yippie! :D

Attachment
0
Definitely Not A Dolphin

Added two new config options:

  • exportDotenv: whether the dotenv variables should also be included in the env variables.
  • warnAmbiguousRoutes: whether a warning should be shown when two url’s only differ by a trailing backslash.

More things:

  • Added more stuff to the To-Do-list
  • Added a test for utils
  • Patched bugs caused by changes from the latest devlog.

Development is not only going smooth, its fun as well! :D

Attachment
0
Definitely Not A Dolphin

Implementing configging as a file (kuusi.config.ts) instead of a function, which allows parsing the config to be the first thing the framework does when it is used, even before exporting everything. By doing this, config options like dotenv path and template dotenv path can be implemented. :D

It is late and since an image of example code is kinda weird I will just add a random image from my laptop. Enjoy

Attachment
0