CS50 Web Programming
Portfólio de projetos avaliativos da certificação CS50W de Harvard. Backend Django, SQLite/PostgreSQL, frontend Vanilla JS escalando para React.js.
Specifications
Certificação
CS50W — Harvard/edX
Backend
Python 3 · Django MVT
Banco Dev
SQLite
Banco Staging
PostgreSQL
Frontend
Vanilla JS → React.js
Segurança
CSRF tokens nativos
Tech Stack
Overview
Projetos avaliativos do curso CS50W da Universidade de Harvard focando em desenvolvimento web moderno: backend com Django (arquitetura MVT), banco SQLite em dev e PostgreSQL em staging, frontend com Vanilla JS escalando para React.js com componentes e hooks de estado. Proteção nativa CSRF em todos os forms e requisições HTTP RESTful. Uso pesado de ORM para modelar relacionamentos multi-tabela (1:N e N:M) em sistemas de seguidores, lances e e-commerce.
Key Features
- Proteção CSRF nativa em todos os forms e requisições HTTP RESTful
- ORM Django para relacionamentos multi-tabela (1:N, N:M)
- Sistemas de seguidores e lances estilo rede social/e-commerce
- Componentização rigorosa de UI via ciclo de vida React
- Deploy com Dockerização inicial e gestão de dependências (NPM/PIP)
- Escalabilidade: Vanilla JS → React.js com hooks de estado
Django ORM — Modelo de Relacionamento N:M
from django.db import models
from django.contrib.auth.models import User
class Auction(models.Model):
title = models.CharField(max_length=200)
description = models.TextField()
starting_bid = models.DecimalField(
max_digits=10, decimal_places=2
)
creator = models.ForeignKey(
User, on_delete=models.CASCADE,
related_name="listings"
)
watchers = models.ManyToManyField(
User, blank=True, related_name="watchlist"
)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-created_at']