Photo Album
This is a website for managing and sharing photo albums, built with ASP.NET Core backend and Angular frontend.
Features
- User management with groups support
- Upload and share photos privately or publicly
- Create and manage albums of pictures
- Download whole albums in a compressed format
- Assign and search between various metadata for images
- Write comments on images
Screenshots
How to start up project
- Run
npm install
from thePhotoAlbum.Frontend
folder - Open
PhotoAlbum.sln
in Visual Studio and build the solution - Set
PhotoAlbum.Backend.Web
as startup project andPhotoAlbum.Backend.Dal
as default project in Package Manager Console then run theUpdate-Database
command - Set
PhotoAlbum.Backend.Web
as startup project, then run it with theFrontend & Backend
configuration - The webapp will open up in a browser window (ignore any errors in the console output), register a new user, or use the pre-generated admin account (configurable in
appsettings.Development.json
) to login
Useful commands & links
Backend
Backend.Web
\Backend Only
: run backend & swagger onhttp://localhost:5000/
Backend.Web
\Frontend & Backend
: run backend & swagger & angular onhttp://localhost:5000/
Backend.Dal
\Add-Migration migration-name
: create migration for db changesBackend.Dal
\Update-Database
: apply last migration to db
Frontend
npm install
: initializenode_modules
npm start
: start frontend onhttp://localhost:4200/
npm run swagger
: generateapi/app.generated.ts
npm ci
: reinitializenode_modules
- design: https://material.angular.io/
- routing: https://medium.com/@shairez/angular-routing-a-better-pattern-for-large-scale-apps-f2890c952a18