Skip to content
This repository has been archived by the owner on Jul 28, 2024. It is now read-only.

Latest commit

 

History

History
97 lines (69 loc) · 2.66 KB

README.md

File metadata and controls

97 lines (69 loc) · 2.66 KB

TFTracker

React.js Django Django Rest Framework PostgreSQL MaterialUI

TFTracker is a full-stack transformer (toy) collection tracking website with a React.js frontend and a Django backend (via the Django REST Framework).

Features

  • Session Authentication
  • User Accounts
  • Registration
  • Login
  • Redux State Management
  • Database Search Interface
    • Trigram Similarity Searching
    • Sorting
    • Filtering
  • Saved Collections (implemented in backend)
  • User Preferences (model implemented in backend)
  • User Settings (model implemented in backend)
  • Docker Image

Getting Started

Currently, TFTracker can only be run in a development environment

System Requirements

💡 Before you begin, make sure you have the following installed:

Getting Started With Local Development

Follow these simple instructions to set up a local development environment.

  1. Clone the repository:
git clone https://github.com/dagleaves/tftracker.git
cd tftracker
  1. (optional) Create a Python virtual environment:
python -m venv env
source env/Scripts/activate
  1. Install dependencies:
pip install -r requirements.txt
cd frontend/client
npm i
  1. TODO: Run Docker image

  2. Apply database migrations:

python backend/django-app/manage.py migrate
  1. Start development servers:
# Backend server - open localhost:8000 to manage
python backend/django-app/manage.py runserver

# Frontend sever - open localhost:3000 to manage
cd frontend/client
npm start

Notes

There are API keys (S3, Firebase) in the git history from before I made this repository public. These were all regenerated.

Motivation

I plan on putting this website into production when it reaches a usable state. However, this project has consumed a significant enough amount of time and has reached a size that I have to include it in my portfolio.