Skip to content

kenngibbs/ReactDjang_WikiProject

Repository files navigation

Django Project: A Wiki web application

Note:

This was a week long project we gave our students. I only did the functional piece of it. I still need to do the frontend design.


Create an a Wikipedia Light web application to support multiple Wiki Post Authors.

Design Requirements:

  • You MUST produce a written design prior to starting to code your solution. This design doesn't have to be a book, but should at least note needed endpoints and basic sketches on how you plan to use CSS Grid for your various screens. ADD YOUR DESIGN DOCUMENTATION TO YOUR PROJECT (pictures, screenshots, or similar)
  • You MUST demonstrate that you have stood up all your endpoints, routes, views, and templates with stubbed out dummy data prior to adding specific logic. AT LEAST ONE INSTRUCTOR MUST REVIEW YOUR FUNCTIONING SKELETON PROJECT BEFORE YOU PROCEED

Functional Requirements (Total of 20 points)

Aesthetics (10 pts)

Use HTML, CSS, templating, and any CSS resources neccessary to make your site aesthetically pleasing. NOTE: Primary layout should rely on CSS grid!

Consistency (3 pts)

  • 3 pts: Background, text format, and color usage are carefully chosen to produce a consistent screen layout for all your pages.
  • 2 pts: Background, text format, and color usage are somewhat consistent with little inappropriate variation.
  • 1 pt: Background, text format, and color usage are randomly chosen with few consistent elements throughout

Navigational/Structural Format (4 pts)

  • 4 pts: Content is presented in a clear manner that is easy to follow. Readers can get around your website with ease. There are no blind links, and a navigation bar is provided per requirements below.
  • 3 pts: Content is presented in a clear manner that is easy to follow. Navigation is difficult. Not intuitive.
  • 2 pts: Content is somewhat confusing and difficult to follow. Site is somewhat difficult to navigate. Too much textual information.
  • 1 pt: Content is confusing and difficult to follow. Site is difficult to navigate. Not intuitive. Large images that take long to load.

Simplicity and Color Scheme (3 pts)

  • 3 pts: Content is simple and to the point. Design is easy to understand in many ways color is appropriately used to produce an atmosphere that expresses the character of the Web site.
  • 2 pts: Web page is somewhat busy. People reading it will have difficulty finding what they want quickly. Excessive use of graphic elements. Color is used somewhat appropriately to produce an atmosphere that expresses the character of the Web site.
  • 1 pt: Web page is too busy. People reading it cannot find what they want quickly. Excessive use of graphic elements

Functionality (10 pts)

Base Requirements: 1 point each (5 pts total):

  • The layout should be similar to the example images provided.

  • The project should use CSS Grid for the main layout. Other elements may be mixed in as you see fit.

  • The User should be able to do a keyword search that will return a list of Wiki entries where the entered keywords are found in the entry's title and/or text.

  • All pages should provide a Navagation Bar that allows a user to go 'Home', 'Add a New Entry', or 'Your Entries'. 'Add a new Entry' and list 'Your Entries' should only be available if the User is signed in. The main 'index' page should list all current Wiki entries from all Authors along with their main image (if present)

  • All Users should be able to click the Title of an individual entry to see the full post. If the post has an image, it should display. Any 'Related Information' items for the post should be displayed in a sidebar at the right of the page. If a displayed entry is also owned by the current signed in User, you should offer them options to 'Edit and/or 'Delete' the entry.

Model Details (5 pts):

SUCCESSFUL CREATION OF REQUIRED MODELS MANDATORY FOR ANY POINTS FOR THIS SECTION

  • Each Wiki entry should support a required 'Post Title', 'Post Text', 'created date/time', 'last updated date/time', along with an optional 'Post Image'. NOTE: The image should be stored in a model instance (i.e. no external URLs)

  • Each Wiki entry should also optionally support 0 to n 'Related Information' items each of which represent related information. Each post line item should also support a required 'Item Title', 'Item Text', 'created date/time', 'last updated date/time', along with an optional 'Item Image'. NOTE: The image should be stored as an ImageField in a model instance (i.e. no external URLs)

  • Authors and all Wiki Entries and related items can be administered from your web app, this includes a signup page for new Authors (5 pts)

  • Your application depends on the built-in Django Admin for some portion of your database maintenance (3 pts)

  • You application depends on the built-in Django Admin for all of your database maintenance (1 pts)

EXAMPLE SCREENS FOR INSPIRATION:

Sample Landing Page View

Sample Landing Page View


Sample Individual Entry View

Sample Individual Entry View


Example Edit Individual Entry View

Example Edit Individual View


RESOURCES:

CHALLENGES:

  • Implement pagination so that only a certain number of Wiki Posts are displayed on the main page/search results, and the user can 'page' through the entries.

  • Add support for entering Wiki posts using the 'Markdown' syntax to support rich text formatting and other advanced formatting features.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published