Skip to content

cangir/theme-catalog

Repository files navigation

Introduction

A simple web application that provides list of free web themes within a variety of categories and tags. Authenticated users have the ability to post, edit, and delete their own items.

Preview

Theme Catalog preview

View Demo

Project Overview

This is the fourth project for the Udacity Full Stack Nanodegree. This project allows users to perform Create, Read, Update, and Delete operations. Logging in is not required in order to read the categories or items uploaded. But, users need to log in to access CRUD operations such as adding, editing and removing items. This program uses third-party auth with Facebook.

Some of the technologies used to build this application include Flask, Bootsrap, Jinja2, and SQLite. Please see the screenshots section.

Please note that:

  1. The Demo doesn't have authentication features.
  2. In order to see demo pages, you need to run the project.

JSON Endpoints

Endpoint URL
Themes /api/v1/themes
Categories /api/v1/categories
Tags /api/v1/tags
License Types /api/v1/license-types
Theme Authors /api/v1/theme-authors
Users /api/v1/users

Screenshots

Home Page

Home Page

Login Page

Login Page

Theme Add Page

Theme Add Page

Theme Single Page

Theme Single Page

Category Page

Category Page

Tag Page

Tag Page

License Types Page

License Types Page

Theme Authors Page

Theme Authors Page

Requirements

  • Python 3 - The code uses ver 3.7.3
  • VirtualBox - An open source virtualiztion product. (Optional)
  • Vagrant - A virtual environment builder and manager (Optional)

Instructions

You can run the project whether installing and using vagrant which is optional or you can install requirements.txt and run the project in your local computer. In both ways the database file and the demo content is not shipped with the repository. Once the project runs, the database and the /static/uploads folder will be created automatically.

Install on virtual server using Vagrant

  1. If you don't already have the latest version of python download it from the link in requirements.
  2. Download and install Vagrant and VirtualBox.
  3. Clone this repository.
  4. Navigate to the theme-catalog folder in your bash interface.
  5. Open bash terminal and launch the virtual machine with command vagrant up. At first time normally it takes about 10-15 minutes to build vagrant. Please be patient.
  6. Once Vagrant installs necessary files use vagrant ssh to continue.
  7. If your command prompt does not start with vagrant after typing vagrant ssh then please try the winpty vagrant ssh on your Windows system.
  8. The command line will now start with vagrant. Here get into to the shared /vagrant folder by command cd /vagrant.
  9. Rename config.py.example file to config.py.
  10. Open config.py file. Set Facebook Api credentials and change any settings depending on your needs.
  11. Run python3 manage.py runserver.
  12. Open localhost:5000 in your web browser.

Manual installation on local machine (without Vagrant)

  1. If you don't already have the latest version of python download it from the link in requirements.
  2. Clone this repository.
  3. Navigate to the theme-catalog folder in your bash interface.
  4. Open bash terminal and install requirements with command pip install -r requirements.txt
  5. Rename config.py.example file to config.py.
  6. Open config.py file. Set Facebook Api credentials and change any settings depending on your needs.
  7. Run python manage.py runserver.
  8. Open localhost:5000 in your web browser.

Credits

First, let us take this opportunity to thank all the creative minds for their great products and hard work.

Name License
jQuery LICENSE
Bootstrap LICENSE
Tabler UI LICENSE
Easing LICENSE
EasyMDE LICENSE
Font Awesome 4.7.0 LICENSE
Feather LICENSE
GDPR Cookie LICENSE
Selectize LICENSE
Waypoints LICENSE

Fonts & Images

Release History

  • 0.0.1 - Initial Release

License

Licensed under MIT License.

About

💻 Theme Catalog - Free Web Templates

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published