Lubook
A recreation of a manga sharing website, but with more proper engineering as well as proper morals.
Published onUpdated on
1.895
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:
- I don’t have the manpower needed to recreate a project that took a team of 5 the whole semester in my free time. So there’s a great chance this gets abandoned.
- I don’t have testing data. I would have to draw up my own versions or use materials belongging in the set of CC0 or Public Domain licenses.