This website uses cookies
But don't be alarmed! According to this, because I am not tracking your IP address, using Google Analytics to monitor traffic on my web page is GDPR compliant.
Hi there dear Visitor,

i'm ioana

Listen to how my name is pronounced

and this is my...
portfolio/
dev journal/
learning board

work in progress...

profilePic

my projects

Check out the projects I am currently working on, by sliding to the next page. To add new projects, I am using a form which stores data in an aws DynamoDB table.

Go ahead and add a project (only to the frontend), by clicking the button below.

dev journal

I developed this project with three things in mind:

#1 to learn - new tools, skills, technologies, ways of doing things, you name it - and to deepen the knowledge I already have;

#2 to track - I'm a big fan of "journaling" as both a way to keep track of one's progress, and a way of storing ideas and resources that could be reused later;

#3 to give you - a potential employer - an idea about my skills and work routine.

These are the projects I'm currently developing:
logo
logo
logo
logo
logo

This is the project you are currently browsing through :).

I am very excited about it because I didn't use any of the code provided by Spiced during the bootcamp, but instead it's the result of my further post-Spiced learning.

Although still work in progress, it's taking shape with every feature I'm implementing.

Learning how to work with serverless framework and a tiny part of the aws ecosystem was both challenging - with peaks of frustration and lows of desperation - and highly rewarding - when something works, you're just walking on clouds.

last updatedJanuary 05, 2021
Built with:
DynamoDBS3SES
January 05, 2021

Tasks

  • Nr.
  • Description
  • Duration
  • Image
1.
aws
dynamoDB
NoSQL
Situation: when my SPA loads, I want to fetch two things from the backend: 1. the dates of all the entries in the journal-entries-table, so I can map them on the timeline on the right side of the page, and 2. the most recent entry in the db. For the most recent entry I added the date as the sort key. The links below are two very good explanations.
Status
.
completed
120

no image for this
task

2.
aws
dynamoDB
NoSQL
/date/ is a reserved keyword in DynamoDB, so my query was throwing an error. I therefore had to use an Expression Attribute Name to substitute the name of the key. And it's working!!
Status
.
completed
30

no image for this
task

3.
axios
TO REMEMBER FOREVER AND EVER: axios API for DELETE method is different than for GET or POST. I spent hours debugging perfectly good code, just to find out that the way I pass data to the body is different. /// here I need to have an area with text as code -> to work on that in the next days.
Status
.
completed
120

no image for this
task

4.
aws
dynamoDB
NoSQL
You cannot query a dynamoDB table based only on the sort key. You need either a composite primary key (partition + sort) or set a GSI, which is the solution I'm going for because I it allows me to only update the table, I don't need to redefine the schema (to redefine the KeySchema I have to remove the table from the yaml file and add it again, which also deletes the table and all the data in it).
Status
.
completed
20

no image for this
task

5.
aws
dynamoDB
NoSQL
I added another http event trigger to my getJournalEntry function because I want to be able to use the /journal-entry API resource both with and without path parameters.
Status
.
completed
20

no image for this
task

6.
aws
dynamoDB
NoSQL
Only query API has a greater than operator, not scan.
Status
.
completed
20

no image for this
task

7.
aws
dynamoDB
NoSQL
To create another global secondary index I would need to define another key attribute. To avoid this, I will find a solution on the frontend: from the list of journal entry dates I will get the most recent and then make a request with that date as a path parameter to the /journal-entry/{journalEntryDate} endpoint.
Status
.
tweaked
120

no image for this
task

Stats

Total
working time
7.50hrs
7 hours, 30 minutes

Project Gallery

  • picOne
  • picTwo
  • picThree
  • picFour

Project Random Ideas

Status