Giter VIP home page Giter VIP logo

anchorchallenge's Introduction

The Problem: Image gallery

You got a request from a friend to create a gallery for his wedding where his friends will be able to upload their photos and he will have a unified gallery with all friend's photos.

He wants to be able to approve the photos before being visible to everyone. He and his wife should be the only one able to approve new photos.

Users must be able to like photos.

Users should be able to sort the photos by total of likes or by date taken.

Please create a website that supply their needs. The photos must be saved on Amazon AWS S3 and the gallery must be fast to open even if there are many photos.

Details of the solution • The resolution must be a web application. • There must supply all the information needed to test the application • The application must run • The code needs to be hosted in your preferred code repository • You need to host the application in a server of your choice and give us a link to access and use the application • You should provide sufficient evidence that your solution is complete by, as a minimum, indicating that it works correctly against the requirements

====================================================================================================================

Solution

Challenge solved using Django 2.2.8, MongoDB 4 (free DB tier on MongoCloud) and AWS S3.

Deployed at https://challengeanchor.herokuapp.com/

Bride and Groom login: jackjill (pass: Bocchini@83) https://challengeanchor.herokuapp.com/admin for photo approval before publication.

Local build

  • Clone this repo (git clone ...);
  • Build a Python3 Virtual Env (python3 -m venv venv) and activate it (source venv/bin/activate);
  • Install all requirements (pip3 install -r requirements.txt);
  • Create an AWS S3 bucket and get your keys for it;
  • Create a free tier hosted MongoDB instance at https://cloud.mongodb.com/;
  • Make Django Migrations;
  • python manage.y runserver and you are good to go!

Tests

  • Before testing make sure you collect static files locally (python manage.y collectstatic);
  • Run all tests with python manage.y test;

TODOS (time was my problem here):

  • Likes filter;
  • more professional looking front-end (need to study more...the front-end took most of my time and I personally did not like)

anchorchallenge's People

Contributors

gbbocchini avatar

Watchers

James Cloos avatar  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.