GithubHelp home page GithubHelp logo

pkm-card-maker-back's Introduction

Pokemon card maker Back-end

As per conventions, commands to run in the terminal are prefixed with $. This symbol should not be typed.

Setup

This setup assumes that you have python 3.7 and pip installed. A virtual environment will be used to install dependencies.

  • Install pipenv with $ pip install pipenv
  • Clone the project
  • navigate to the project $ cd pkm-card-maker-back
  • run $ pipenv install --ignore-pipfile this creates a new virtual environment and installs the dependencies as specified in the pipenv.lock file.
  • Open the virtual environment with $ pipenv shell
  • Create a database named pkm
  • Copy the .env.example and rename it to .env
  • Inside the .env, edit the incorrect variables to match yours
  • Migrate the database
    • Run $ python manage.py migrate
  • Run the server
    • Run $ python manage.py runserver

Troubleshooting

If you get the error ModuleNotFoundError: No module named 'MySQLClient' while running the server, you need to install the mysqlclient.
Make sure you are running a 64 bit version of python

If it does not work try to:

  • Download the client for python version 'cp37' here (64bit) or here (32 and 64 bit)
  • Install the client by running `pip install

Pipenv

Pipenv is a tool to create and manage virtual environments and install dependencies and track their versions (including versions of sub-dependencies). It is very similar to NPM in the way that it creates a Pipfile.lock and it allows install packages as dev dependencies.

To install a package use $ pipenv install <package name>. To install a dev dependency add the --dev flag. Find more info on Pipenv on the Pipenv project site. It is strongly recommended to read this documentation and familiarize yourself with how pipenv versioncontrol works.

pkm-card-maker-back's People

Contributors

lvandernoll avatar giovanni-schroevers avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

pkm-card-maker-back's Issues

PCM-13: Social card interaction

Add the options to like and comment on a published card

features:

  • Follow users
  • Like and comment on a card
  • Add a timeline
  • Report a users post
  • Ban a user

PKM-16: Some database user changes

  • Change the dob field to a 13plus / over13 boolean
  • Remove last_name field
  • Implement a default profile picture (doesn't matter what it looks like)

PCM-16: Save files in user folders

When a user saves a file on the backend (i.e. when they upload a card), save those images in a folder dedicated to that user. Also save the images in the folder dedicated to the card they belong to.

Current situation

"http://localhost:8000/media/card/card.png"
"http://localhost:8000/media/card/Caster_Minion.png"

New situation

"http://localhost:8000/media/lvandernoll/cards/1/card.png"
"http://localhost:8000/media/lvandernoll/cards/1/Caster_Minion.png"

Where /1/ is the id of the card

MVP-01: First implementation

This is the first implementation of the Pokémon Card Maker Backend.
The frontend repository is located here: https://github.com/lvandernoll/pkm-card-maker

Requirements:

User

  • As a human, I want to be able to create an account using OAuth2.0 (Google, Facebook, Twitter)
  • As a user, I want to be able to reset my password
  • As a user, I want to be able to change my password

Cards

  • As a user, I want to be able to upload my created cards
  • As a user, I want to be able to view a list of my uploaded cards as images with their name below it
  • As a user, I want to be able to view a detailed version of an uploaded card, displayed using the frontend CardDisplay functionality. This endpoint should not use the card's id but a combination of the uploader's username/id + the card's slugged name (/shiny/yasuo-vmax)
  • As a user, I want to be able to edit the uploaded card from the detailed view
  • As a user, I want to be able to share links to my uploaded card images
  • As a user, I want to be able to delete uploaded cards

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.