Introduction
There are many things that I have learned and improved throughout the last 12 weeks. Whether it is Agile Methodology in regards to planning or learning how to create a backend to hold data for a website. Here are 5 of the most important things that I have learned over these last 12 weeks.
Agile Methodology
Agile Methodology is a project management technique that breaks a project up into different parts usually known as “Sprints”, and allows for the user to reflect and review on each part/sprint to find out improvements and what they should do different next time or sprint.
How did this help?
Agile Methdology helped me to plan and organize my projects in a way that allowed me to improve and reflect after each section, but also not feel “lost” while executing certain parts of the project.
Some things we did included
- Kanban Boards, to organize and track completed and to-do work
- Delegating roles, to help delegate tasks to group members according to strengths and needed areas of improvement
- Planning Issues, we used Github Issues to plan the steps to our project and this included, delegating roles/tasks, figma drawings for frontend, purpose of our features, user stories, and so mch more.
API’s + Testing
What is an API
API is short for Application Programming Interface and basically controls how data is formatted and exhanged throughout different software applications which includes the frontend and the backend’s database.
Why was it essential?
API’s are essential when creating a purposeful and working website because it allows you to store, transfer, and manipulate data to allow uses to interact and customize that data.
Postman
Additionally, learning to put HTTP status handling code and testing with Postman allowed us to easily find errors in our code.
Database + CRUD Operations
Databases
The database is an essential part of the website because it stored valuble data that could be manipulated, deleted, added to, and more by the user. This creates a fully functional website where the user can insert images, text, emojis, and more and have it be saved to the database.
CRUD Operations
Create, Read, Update, Delete, all the CRUD operations were imperative to the website because it allowed us to manipulate data from the frontend side. Requests could be sent for either fo these 4 to manipulate the backend’s data in which that data could be relayed to the frontend to create a fully functioning website.
Why was it essential?
A place to store data and ways to manipulate that data are imperative to websites and this allowed us to make the websites more user interactive and allows for the user to customize more things to their liking.
AWS Deployment + Cockpit
What is AWS
AWS or Amazon Web Services is a cloud platform that provides servers, storage, databases, and essentially acts as the backend to your website.
What is Cockpit
Cockpit is a local management tool that allows someone to edit the server, put down the server, build the server, and more. It essentially allows you to make changes to the server or backend.
Some Key Terms and Commands
- DNS (Domain, Name, Service): Translates Website names into ip addresses in which computers can locate and connect to those websites
- HTTPS (HyperText Transfer Protocol Service): Encrypts data between browser and website to protect data from hackers
docker ps - Shows the list of running docker containers (running servers)
docker-compose down - Stops running container (Puts server down)
docker-compose build - Builds the container (Builds server)
docker-compose up -d - Starts the containers in the background (detached) which creates all networks and volumes if needed (Basically puts the server up)
Importance?
This is obviously super important for the last 12 weeks as before we never had a running server that we could access on the internet other than github’s deployed pages which were made for static websites. This means we could not have our backend and frontend connected for a fully functioning website without using our make.
Purpose
Purpose is crucial when it comes to building a website because it guides every aspect of its design and functionality. It forces us to look from the user’s point of view which was done by using User Stories and more. No matter how much code, time, and effort you put into your website, if there is no purpose, there is honestly no point of making it. The goal is to create something that would actually be useful in real life and that is why it was important to create purposeful features, user-friendly UI, and put yourself in the shoes of the user while creating.
User Stories
A user story is a brief description of a feature or functionality of a website from the perspective of an end user. It helped us find purpose in our features and add or delete things that wouldn’t be purposeful and user-friendly.