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.
- πΉ 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.
| Technology | Description |
|---|---|
| π₯οΈ Frontend | Vue.js |
| π Backend | .NET (C#) |
| π Database | MySQL |
| π Auth | Auth0 |
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.
- π‘ 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
VaultKeepstable represents a many-to-many relationship with:vaultKeepId(Primary Key)keepIdvaultIdaccountId- Various VaultKeep models inherit other classes to fit specific CRUD methods.
- π Sign up or log in to create and manage vaults.
- π Browse the homepage for keeps shared by other users.
- πΌ Click on a Keep to open a modal with details and the option to add it to a vault.
- π Create Vaults to organize your keeps by category or topic.
- π Set Vault Privacy to keep collections private or share them publicly.
Developed by Mike Nurisio
π GitHub: mnurisio