Skip to content

The server-side of my portfolio project, where keep information about my projects and log what I am working on every day.

Notifications You must be signed in to change notification settings

ioanatatu/portfolio-aws-backend

Repository files navigation

This repo contains the backend code for the portfolio project

I am using the AWS services and the serverless framework to create a RESTful API which provides data for my client.

lambda functionsapi gatewaycloud watchyaml are a few of the things I learnt while developing this project

I also employed Postman extensively for making requests to endpoints when testing.

AWS resources included so far

  • S3 for image storage
  • DynamoDB for data storage

See also frontend repo: https://github.com/ioanatatu/portfolio-client
Or visit the webpage: https://ioanatatu.com


What is this project about?

I am - what you would call in German - a "Quereinsteiger" in this profession and therefore take learning very seriously. I have a daily routine of coding and am working on different projects, but nothing is fully finished at the moment. This is why I wanted to build a project where I could log the tasks that I am working on every day, their resources (images, links with articles etc), how long I spend on each one and how much time I use working with a particular technology (react, nodeJS, styling...). And because this app tracks my coding progress, I would also be using it as a portfolio, to showcase my skills to potential employers.

As a first step, I developed the React component architecture and tracked my tasks in a json object, which I would then import in React. I decided I needed a backend and database, where I could store data properly and where my client could make requests to. However, my frontend was comfortably hosted on netlify (also connected to my domain name), so I didn't want to move all that to heroku, where I had hosted previous projects. I therefore chose the RESTful API approach and AWS, which would also give me the opportunity to learn more about these topics. Becoming familiar with (a tiny part of) the AWS ecosystem was a nightmare, but every step forward felt like the sweetest victory.

At the moment I have the projects and journal-entries tables in my DynamoDB and I can perform create, read and remove operations on them from the client-side. I am using these features to add my projects and journal-entries (these are the tasks I am working on every day) and validate the input with forms I built in React. At the same time I also wanted to demo these features to visitors, without really deleting data from the database. I decided to mimick these actions on the client-side (create and delete) if no password would be entered. No password - no request to the backend. However, if a password is entered, it will be validated on the backend and very likely - I hope... :) - will throw an error as I am the only holder of the magic key. 🔑

An interesting challenge I am facing is switching between the different technologies and perspectives, jumping from configuring the serverless yaml file for the backend, to setting state for a tiny button in React when the audio file has finished playing. All in all it's a trip and I'm loving it 👩🏻‍💻

About

The server-side of my portfolio project, where keep information about my projects and log what I am working on every day.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published