GithubHelp home page GithubHelp logo

emilieallen / project-4-react-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5.85 MB

Full-stack application with Django & React

HTML 6.61% CSS 3.56% JavaScript 89.83%
bulma django-rest-framework heroku netlify reactjs

project-4-react-app's Introduction

SEI Project 4: Shutterspeed

Project Overview

Shutterspeed is an application designed for photography enthusiasts. The idea is to allow users to share their best shots with peers. Each picture comes with a full description of the settings, location etc.

The app has been deployed with Netlify/Heroku and is available https://shutterspeed-react.netlify.app.

Intro

Brief

  • Build a full-stack application by making your own backend and your own frontend.
  • Use a Python Django API using Django REST Framework to serve your data from a Postgres database.
  • Consume your API with a separate front-end built with React.
  • Be a complete product which most likely means multiple relationships and CRUD functionality for at least a couple of models.
  • Be deployed online so it’s publicly accessible.

Technologies Used

Frontend

  • React.js
  • Axios
  • React router dom
  • Bulma

Backend

  • Python
  • Django
  • Django REST Framework
  • PostgreSQL

Development Tools

  • Insomnia
  • TablePlus
  • Git & GitHub
  • npm / poetry
  • Excalidraw

Deployment

  • Heroku
  • Netlify

Development

  1. Front-end Design

Drawing

  1. Data Models

DB

  1. Django Models
from django.db import models

# Create your models here.

CATEGORY = [
    (1, 'Night'),
    (2, 'Landscape'),
    (3, 'Urban'),
    (4, 'Architecture'),
    (5, 'Portrait'),
    (6, 'Other')
]

class Picture(models.Model):
    """
    A model for pictures.
    """

    name = models.CharField(max_length=150)
    description = models.CharField(max_length=100)

    category = models.IntegerField(
        choices=CATEGORY
        )

    location = models.CharField(max_length=50)
    picture_url = models.URLField()
    camera = models.CharField(max_length=30)
    settings = models.CharField(max_length=50)

    added_by = models.ForeignKey(
        'users.User',
        related_name='added_picture',
        on_delete=models.DO_NOTHING,
        blank=True
    )

    def __str__(self):
        """Formats entries in the Admin panel"""
        return f'{self.name}'

  1. React App

DB DB DB DB

Limitations

Due to the time constraint, the following functionalities are yet to be implemented:

  • filter pictures on theme (tags currently inactive)
  • find a photographer (selection currently without options)
  • follow a photographer and save/download a picture
  • allow user to edit/delete his own picture

project-4-react-app's People

Contributors

emilieallen avatar

Watchers

 avatar

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.