Skip to content

aninishioka/craft_app

Repository files navigation

Crafty

Crafty is an online crafting platform where users can keep track of project progress and view what others are working on.

Features

  • Authentication: Users can sign up, log in, and log out. Passwords are hashed with bcrypt.
  • Authorization: Protect routes so only authorized users can view. E.g. restrict profile view for accounts that are private.
  • Projects: Authenticated users can add projects as well as log time spent on each project.
  • Private accounts: Authenticated users can choose to make their accounts private to restrict access to their profile.
  • Follows & Requests: Authenticated users can view projects from users they are following. If a user is private, a follow request will be created.
  • Profile management: Authenticated users can edit account information.

Built With

This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.

  • Flask
  • SQLAlchemy
  • PostgreSQL
  • Jinja

Installation

  1. Clone the repo:
    git clone https://github.com/aninishioka/craft_app
    
  2. cd into project directory and create a virtual environment:
    python3 -m venv venv
    source venv/bin/activate
    
  3. Install dependencies:
    pip install -r requirements.txt
    
  4. Set up database:
    createdb craft_app
    python seed.py
    
  5. Create a .env file with following variables:
    SECRET_KEY=abc123
    DATABASE_URL=postgresql:///craft_app
    
  6. Start the server:
    flask run
    

Testing

There are four test files for testing data models and views for messages and users.

Run test files with the following command:

FLASK_DEBUG=False python -m unittest <name-of-test-file>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published