Lucinda is a lazy black fluffy girl. Her name was generated by random name generator and I’m not joking now.
Lucinda looks somewhat like this:
Yes - she is a cat. Okay, let’s be a little more serious now. Lucinda is a name of my new personal project. Its name was really generated by random name generator and the project mascot is a cat because I just love cats - I think they are cute, fluffy and lazy - also bitches. When they are not in their mood you can’t do much with them. They come to you only when their stomach is empty.
I’ve got a ton of personal projects. They are abandoned, buggy, sleeping somewhere in a remote git repository. They didn’t get my full attention and as the time flew my attention converged to zero. All the abandoned projects were at least good for one thing - I learned new things with them, I tried new technologies, libraries, new architectural approaches, new languages.
I have realized that I have a lot of technical skills but I have no real examples for eventual employer to prove that I really know what I say I know. One thing I really don’t want - or better say - what I really want to learn, is to NOT abandon a project. I want to learn at least have things done as being planned. When I write about it, I think it could give me some additional motivation for doing it - that some person reading it still expect some progress in the future. Even better motivation than someone seeing a progress is when someone has real experience with thing I’ve made - and if it’s positive experience, the motivation then is even bigger.
So what I’m gonna do
So I picked a project management software. I’ve seen some of them and I think I could do better. Why not. Worst case scenario is that I lose time and don’t learn anything - which is not common when doing software (Making software is about solving problems. It is expected that I learn something). I expect to learn at least something.
Frontend
Backend
Modeling
Use case diagram is a diagram showing what users can possible do in your app. You can map different users and map all things (Use cases) they can possibly do. Use Case diagram should also contain include and exclude connections between UCs but for sake of simplicity I decided to not include these types of things and keep everything as simple as it possibly could be.
It’s a good practice to name your use cases like UC0001: {Short name}, UC0002: {Short name}. Number at the beginning is then used as fast identificator for other related diagrams and so on.
I named CRUD for Create Read Update Delete - It keeps diagram smaller and in the future I can make UC like UC0012.1, UC0012.2 or finally use another include and exclude use case and connect it with parent CRUD use case. For now, I don’t want to be UC too packed.
When I can see next progress ?
For now, I have everything configured. AWS lambda, dynamodb, backend with a few endpoints implemented and frontend has a few pages implemented. I designed landing pages and main app workspace in Figma.
Currently I’m solving interface typing between graphql server-side controller and aws DynamoDB. I want type safety between database and server (serverless lambda).
I see problems at:
In the last part How To Use Redux Without Losing Your Mind I’ve presented the new way of using redux libary. The main reason behind…
TLDR; You can use redux without a lot of boilerplate with just one action changing the whole reducer state. Consistency of the structure can…
I see people always struggling with include/exclude notation inside use case diagrams. I think these diagrams could explain it better. use…