Skip to content

mnurisio/Keepr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

88 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Keepr πŸ“ΈπŸ”’

Keepr is a web application that allows users to create and organize image collections. Users can create Vaults based on categories or topics and store Keepsβ€”individual imagesβ€”inside them. Vaults can be public or private, giving users control over their collections.

πŸš€ Features

  • πŸ”Ή Vaults: Create and manage categorized collections of images.
  • πŸ”Ή Keeps: Add images to your vaults with a short description.
  • πŸ”Ή VaultKeeps: Represents the many-to-many relationship created when a Keep is added to a Vault, allowing Keeps to exist in multiple Vaults.
  • πŸ”Ή Privacy Control: Choose to make vaults private or share them with others.
  • πŸ”Ή Modal View: Clicking on a Keep opens a modal with details and an option to add it to a vault.

πŸ›  Tech Stack

Technology Description
πŸ–₯️ Frontend Vue.js
πŸ”™ Backend .NET (C#)
πŸ—„ Database MySQL
πŸ” Auth Auth0

🎯 Project Purpose

Keepr is a portfolio project designed to demonstrate full-stack development skills. It showcases the ability to build a dynamic web application with user authentication, database interactions, and front-end functionality.

βš™οΈ Technical Highlights

  • πŸ“‘ RESTful API Structure: The backend follows a RESTful architecture with clear endpoints for Vaults, Keeps, and VaultKeeps.
  • πŸ›‘ Middleware Security: Middleware is implemented in the C# repository folders to prevent SQL injection and enhance security.
  • πŸ”‘ Authorization: Auth0 is used for authentication, and authorization is enforced to restrict actions such as creating, deleting, and fetching user-specific data.
  • πŸ“Š Database Design: The database employs foreign keys and cascade deletes to maintain referential integrity.
  • πŸ”„ VaultKeeps Relationship: The VaultKeeps table represents a many-to-many relationship with:
    • vaultKeepId (Primary Key)
    • keepId
    • vaultId
    • accountId
    • Various VaultKeep models inherit other classes to fit specific CRUD methods.

πŸ“Œ Usage Overview

  1. πŸ”‘ Sign up or log in to create and manage vaults.
  2. 🌍 Browse the homepage for keeps shared by other users.
  3. πŸ–Ό Click on a Keep to open a modal with details and the option to add it to a vault.
  4. πŸ“‚ Create Vaults to organize your keeps by category or topic.
  5. πŸ”’ Set Vault Privacy to keep collections private or share them publicly.

πŸ“¬ Contact

Developed by Mike Nurisio
πŸ“‚ GitHub: mnurisio

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published