Giter VIP home page Giter VIP logo

agile-web-dev-cits5505's Introduction

Foodie Hub - CITS5505 Agile Web Development project

Name Student Number GitHub Username
Alexandra Harrison 22581066 allyharrison
Kartik Bhalala 23244793 kartikbhalala
Neha Neha 23754739 neha2007796
Stevie Dahlin 22974467 St-d603

About The Project

Foodie Hub Website

Our website is all about food! FOODIE HUB is designed to be a one stop shop for all foodies.

Looking for something to eat? Look no further, Foodie Hub is a community where users can share their favourite recipes or even ask the community for recommendations. How about finding a new favourite place to eat? On Foodie Hub you can ask for suggestions, or visit our blog to find some Hidden Gems.

Looking for a recipe similar to one your Grandma made years ago but don't know where to start? Ask our Foodie Hub community to help you discover and make delicious flavours and meals!

Foodie Hub offers the chance to interact with like minded and taste-budded people alike. Check us out!

How to run the project

To run the project locally, follow the instructions below to set up a venv, then pip install requirements-dev and then run flask.

# Activate virtual environment
python3 -m venv tmp-env
source tmp-env/bin/activate

# Install these dependencies for development
pip install -r requirements-dev.txt # (this will also install requirements.txt)

# OR install only these dependencies for production
pip install -r requirements.txt

# Apply migrations
flask db upgrade 8f09b1c4c9ea

# Launch container for search functionality
docker run --name elasticsearch -d --rm -p 9200:9200 --memory="2GB" -e discovery.type=single-node -e xpack.security.enabled=false -t docker.elastic.co/elasticsearch/elasticsearch:8.11.1

# Start app
flask run

If you would like to run with "livereload" for editing HTML/CSS, run python local_dev.py instead of calling flask run. Note: This doesn't apply to changes to Python files.

python local_dev.py

Tests

This directory contains the test files for the project.

Test Files

  • test_app.py: This file contains the unit tests for the application.
  • test_selenium.py: This file contains the Selenium tests for the application.

Running the Tests

Before running the tests, ensure you have the server running in the background, as well as the elasticsearch Docker container (see root README for instructions)

Unit Tests

To run the unit tests, use the following command:

python3 -m unittest test_app.py

Selenium Tests

To run the selenium tests, use the following command:

python3 ./test_selenium.py

agile-web-dev-cits5505's People

Contributors

st-d603 avatar allyharrison avatar kartikbhalala avatar neha200796 avatar

Watchers

 avatar  avatar

agile-web-dev-cits5505's Issues

Creating Tests

Current test ideas as the HTML and CSS validations. Still in planning.

Plan out front-end page structure using Figma

This will be screen-captured and sent to the group chat for group approval.

The main feature it should capture is:

  • Request Creation: Users can create food-related requests, such as recipe challenges, restaurant recommendations, and cooking quests.

  • Request Answering: Other users can respond to these requests by submitting their solutions, recipes, or culinary creations.

(Complete in 3 days- latest Tuesday, week 6)

Javascript research

Research and outline the necessary JavaScript functions for the design, including implementing a user account and tracking feature.

Basic CSS

Small task, content to be updated throughout the project life cycle
CSS to follow up
With HTML and Figma layout, start basic CSS creation and alignment.
potential library research

New database research

It seems that SQLite is the required database for this project. Has anyone used it before?

Basic CSS

Small task, content to be updated throughout the project life cycle
CSS to follow up
With HTML and Figma layout, start basic CSS creation and alignment.
potential library research

Refine HTML, CSS and general frontend in preparation for first deliverable

Tidying up the frontend so we can use landing page and request pages as the first deliverable.
Looking to:

  • improve responsiveness for mobiles and small screens
  • improve existing responsiveness of text and images (i.e. resizing window currently causes most text fields to shift differently, menu dropdown becomes warped on hover)
  • refine theme to make it more cohesive

Add to HTML and front page

Fill out parts of existing HTML that aren't complete

  • Add footer
  • Add buttons to navbar, and list options as list underneath:
    • Recipes (ie breakfast, lunch, dinner)
    • Cuisine (ie Indian, Chinese, Italian)
    • Making a request - this can be part of the menu and/or a persistent button on the other pages

Add the rough draft images

Could you please add a file containing the rough blog design images that you made at the start of the project! I noticed that we forgot to upload that :)

html

I think we should have 3 or 4 sections for the webpage design such as Recipes based on (Breakfast, Lunch and Dinner), Recipes for cuisines and a blog style section?

User story game feature

Based of the our brainstormed user stories: maybe we should look to incorporate a FOODIE Website gamification feature? For example, if you post a certain amount or respond to recipe requests you can receive badges. It could work to foster community engagement on the foodie website.

My issue is:

  1. What would be the point of the badge (purely just aesthetics, maybe profile pictures)?
  • Risk: user could make many posts and receive badge even though its not interactive or helpful.
  1. Should it actual be more game based like a chef puzzle (it could reveal a recipe at random when solved)
  • If we choose this option would it be unlimited? Daily

Or does anyone else have any ideas?

Collect content to fill out pages on website

What information will be in these pages?

Collect recipes to have in pages (maybe 5?)
Additional website details and content can be included.
Small task, content to be updated throughout the project life cycle

HTML to align with Figma design

While the design is in the creation in Figma, a rough HTML bone structure should be made.
Update once we agree on design.
Completed by the end of week six - will continue to be updated throughout the project duration.

Database research

Investigate methods for storing interactions and results, potentially exploring database options such as SQLite or PostgreSQL. Determine which databases will be suitable for our project's needs.

Review Flask App

If the upcoming flask is merged could someone look at sub-dividing the app.py per lecture tutorial (19th), if possible or ask a tutorial, I think it may look more efficient/ in-line with practices if it is divided up? I'm not 100% sure on this so let me know if you have any thoughts.

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.