Luny
Back

Lubook

A recreation of a manga sharing website, but with more proper engineering as well as proper morals.

Published on
Updated on

1.895

astro
express
postgresql
tailwindcss
typescript
vue

Description

This is not a production commercial application. This was created just because I hate my group’s version of this project. When they suggested building a website where you can read mangas, I envisioned it to be akin to other sharing communities like Archive of Our Own, Wattpad, etc., but their idea is more about a pirating, stealing and reposting mangas, which I do not support.

I don’t have any problems with piracy for personal usage, but this situation is within an educational environment, as a project for a Software Engineering course, which is the reason why I find it to be wrong. I have brought up this issues with the group, as an artist myself, I would not be comfortable working on such a project, it is mind boggling how completely normal they feel about stealing works, so I gave up on persuading them and created my own version of said project. I made this project to prove that this can be done, without the need to steal other people’s works.

Tech choices

The backend was originally designed by the group leader to follow the MERN stack (namely MongoDB, ExpressJS, ReactJS, and NodeJS). I was also going to go with the same thing, but that wouldn’t be very educational (I lied, I just wanted to try SQL).

What I soon discovered was that installing a working version of PostgreSQL within the deployed environment was very annoying for a firsttimer. I documented my journey in the following blog post. After the first setup, everything seems so streamlined now. Even after learning Docker, it got even easier.

Eventually, I think it’s OK to settle on PostgreSQL, ExpressJS, VueJS and NodeJS. Which is mainly, still similar enough, even though I use TypeScript instead of JavaScript. The biggest change here is that Postgres isn’t that straightforward to setup tests with, since memory pg servers are too limited and drizzle has problems working with them.

Problems

A list of problems instantly getting in the way: