[go: up one dir, main page]

Skip to content

CCS Cohort 17 Final Project. Full stack task manager and goal creation tool

Notifications You must be signed in to change notification settings

Klhall7/actualize-full-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose

This project is tool for goal creation, task management learning targeted towards individuals who need help with organization, self-discipline and motivation. They can create and manage goals, any tasks aligned with those goals, set calendar deadlines, and measure their progress over time .

Technologies & Frameworks Used

Backend:

  • FastAPI 0.110.0 web framework, used for database APIs
  • Python 3.12.1 used for FastAPI setup.
  • Supabase 2.4.0 open-source backend-as-a-service solution. Supabase client database used for user tracking, authentication, login, and storage. Supabase leverages PostgreSQL for its core database functionality.

Frontend:

  • Vite 5.2.6 development server and bundler, used to build my React application.
  • React JavaScript library used for user interface.
  • React Router v6.22.3 navigational components used for client side routing throughout the app.
  • React Responsive Modal v6.1.0 library used for UI when a logged in user creates and edits tasks from their dashboard.
  • React Tooltip v5 library used for giving user a guided experience when filling out forms on their dashboard
  • date-fns v3 library used for formatting dates and showing user upcoming tasks

User Authentication

Handling Separation Overview:

  • Supabase handles user accounts and JWTs.
  • FastAPI acts as a secure intermediary
  • JWTs unlock access to authorized data in Supabase.
  1. Sign Up:
  • User enters email and password on the React frontend.
  • Frontend sends details to a FastAPI signup endpoint.
  • FastAPI uses Supabase to create a user in the auth.users table and gets a JWT.
  • FastAPI sends the JWT back to the frontend (login successful).
  1. Sign In:
  • User enters email and password on the login form.
  • Frontend sends credentials to a FastAPI login endpoint.
  • astAPI uses Supabase to verify credentials.
  • If valid, Supabase generates a JWT with the user ID.
  • FastAPI sends the JWT back to the frontend (login successful).
  1. Data Access:
  • Frontend stores the JWT securely (e.g., local storage)
  • Subsequent requests to FastAPI include the JWT in the header.
  • FastAPI verifies the JWT.
  • Based on the user ID and permissions, FastAPI performs authorized CRUD operations on public Supabase tables.

Deployment and Hosting

Platform.sh backend server hosting

Netlify frontend deployment

Both accounts are connected to my Github Repository and it automatically deploys my code whenever I push changes to the repository branch.

About

CCS Cohort 17 Final Project. Full stack task manager and goal creation tool

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published