Giter VIP home page Giter VIP logo

creativegallery's Introduction

Concept

A web application which allows for presentation of creative works in the form of images in organized form.

Magic Files

./DefaultProfile.png -> Default Profile Picture for a newly created account ./Logo.png -> App Logo and Favicon of the webpage

creativegallery's People

Contributors

narumikazuchi avatar

Watchers

 avatar

creativegallery's Issues

Implement Register Page

Create a page that allows a new user to register on the website. The page should be easily accessible and understandable. The page should not show if the feature is disabled.
Use the following layout as a guide:
RegisterPageV1

Create Specification

Create the specification for the entire project and create issues corresponding to the features that will be implemented.

Implement User Management Page

Create a page that allows admin users to perform CRUD operations on users. This page should only be accessible to users with permissions to actually perform these operations.
Use the following layouts as a guide:
UserManagementPageV1
AddUserPageV1

Implement Card Component

Create a card component that can display either a single work, an album or a user. The card should always have a click-handler that navigates to the associated resource.

Implement Search Page

Create a page that displays all results for a given search query entered by the user. The user can switch through the different search result by using 3 radio buttons labeled 'works', 'albums' and 'users'. Every radio button will display result for the search query corresponding to the type.
Use the following layout as a guide:
SearchPageV1

Implement Album Page

Create a page to view an album. This can also be reused to view a single image in which case the carousel at the bottom shows recommendations based on the current image. The user can disable recommendations in his settings, in which case the will be no carousel at the bottom.
Use the following layout as a guide:
AlbumPageV1

Implement Landing Page

Create a landing page that shows the most viewed, latest and pinned works/albums as well as recommended works/albums or works/albums from creators that the user is following, if the user is authenticated.
Use the following layout as a guide:
LandingPageV1

Implement Upload Page

Create a page where an authenticated user can upload his works and tag them. The specific layout of the page will follow soon.

Implement Search Bar Component

Create a component to search and filter the website for tags, albums and users. The component should search the database when no further input occurred after 0.5 seconds. Every new input should cancel the running one. The results should be displayed in a popup menu and each item should be clickable to redirect the user to another page corresponding to the result.

Implement Edit Work Page

Create a page for an authenticated user to edit one of the works he has uploaded. Specific layout will follow soon.

Implement Add Album Page

Create a page which allows an authenticated user to create and/or edit one of his albums. The specific layout will follow soon.

Implement Card List Component

Create a card list component similar to the card grid and image carousel. Instead of having a grid with pagination the card list component should be a horizontal list of cards.

Implement User Dashboard Page

Create a dashboard page for each creator. Show the uploaded works and created albums of the creator. If the current user is the owner of the dashboard show bookmarks and followed creators as well as CRUD operations for works and albums.
Use the following layout as a guide:
UserDashboardPageV1

Implement Image Preview Component

Create an image preview component that allows the user to enlarge the work to fullscreen proportions. The fullscreen view should also allow for zoom and panning. Implement buttons for cycling through a list that can be enabled by the parent component.

Implement Tag List Component

Create a tag list component that displays all the tags associated with the current work. If the user is authenticated and the owner of the work then allow the user to add and remove tags from the tag list freely.

Implement Page Header

Create a page header that will be always present and sticky at the top of the page. On the left should be a custom icon that leads to the landing page, in the center should be a search box with autocomplete and on the right should be the account menu for login or user management.
Use the layout of the landing page as orientation to create the layout of the header.
LandingPageV1

Implement Account Menu

Create a menu where a user can login, if he is not authenticated already, or navigate to his personal dashboard or settings page. If the feature is activated the user can also register an account here, if he does not have one already.

Setup project files

Setup the required project files to use as a base for the implementation of the project.

Implement Card Grid Component

Create a card grid component which can display cards in a grid i.e. for the landing page. The grid should include pagination.

Organize Project

Organize the project before starting to actually implement all the features. Create a github repository, organize labels and milestones and create a project to manage the progress of the project.

Build Database Interface

Build the database interface alongside the models. Roughly identify the needed models, relations and properties.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.