Git Product home page Git Product logo

portion-mate's People

Contributors

ineshbose avatar oanaandrei avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

stokesevie

portion-mate's Issues

Journal Implementation

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The app requirements has outlined a Journal tab.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Implement Journal in the backend, then interact with frontend.

Token Authentication

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The frontend technology is different and uses API with Django, therefore there should be token authentication.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Set that up using JWT, and connect to React Native.

Wiki home not rendering

Describe the bug

Provide a clear and concise description of the bug.

Issue #19 attempted to create symlinks between docs/index.md (required by Read The Docs) and docs/Home.md (required by GitHub Wiki), however, now Home.md displays index.md.

Best to get rid of the file, however, while calling the Deploy Wiki action, create a copy of index.md.

Polish user interface

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The UI at the moment is not at a good place. It is also defaulted to dark-mode which is not preferred by the supervisor.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Polish the UI and focus on light mode.
https://akveo.github.io/react-native-ui-kitten looks very interesting.

Setup Auth Forms

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Authentication forms need to be provided in the frontend.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Add them.

Setup Git Hooks

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There are linting tests, and a few times before committing, linting check is forgotten.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Add a pre-commit hook. Solution still yet to be brainstormed.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Using pip and npm may not work since they're in src/backend and src/frontend respectively.

Wiki Sidebar Automation

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Whenever new pages are added, docs/_Sidebar.md has to be adjusted constantly. Best if this can be done automatically.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Update Deploy Wiki action.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Pre-made actions.

Overleaf not pulling

Describe the bug

Provide a clear and concise description of the bug.

This repository is also kept on Overleaf mainly to make changes in dissertation/. Firstly, Overleaf does not support branching - so it pulls and pushes changes to/from the default branch which is develop. Secondly and mainly, Overleaf also does not handle symlinks very well and therefore is unable to pull changes.

Steps to reproduce

Please provide steps to reproduce the behaviour.

  1. Open Overleaf Project
  2. Menu -> GitHub -> Pull Changes

Expected behavior

Please provide a clear and concise description of what you expected to happen.

Latest changes to appear.

Environment

Please provide a concise description of your environment.

Overleaf online.

Additional context

Add any other context about the problem here.

Django Environment File

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Use a .env file for environment variable values so that sensitive information can be removed from the repository.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Using django-environ.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Other packages, scripts, configuration files.

Switch to PostgreSQL

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Currently and by default, Django uses SQLite to keep a database which is also just file based. The most preferred and robust system for Django is PostgreSQL.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Change values in settings.py to switch to PostgreSQL.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Other databases like MySQL, MongoDB, etc.

Setup REST API

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The Django backend and database needs an API to interact with the React Native frontend.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Add a REST API (using the already started/installed rest app using Django REST Framework).

Override Built-in Django Templates

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The built-in templates are not "Portion Mate" themed.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Override the templates in src/backend/templates for admin/base.html (Admin Dashboard) and rest_framework/api.html (Django REST Framework template) to use the theme colour navbar.

Setup Django models

Description

For the database, start creating models in the Django main app.

Steps

  • Refer ER Diagram
  • Migrate
  • Test from backend and admin

Floating Action Button

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The wireframes show a floating action button (FAB) that allow some functionality.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Implement it.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Libraries that provide this component, or using react-native's Pressable.

Deployment to App Store

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The React Native app needs to be available on the Apple App Store for iOS devices.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Refer https://reactnative.dev/docs/next/publishing-to-app-store

Add Django basic app

Description

To get started on the back-end of the app, add a basic Django app to the repository.

Steps

  • Add a backend structure to the src/ directory.
  • Start a Django app
  • Include .gitignore

Offline Mode

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

A lot of apps depend on internet connection, however, there are users that do not have a reliable one.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Use local storage that would also not require authentication. This expands accessibility. Data can be lost however.

Switch to own Wiki Action

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The current wiki build is mostly scripted by myself, so best to export it to a separate action and use that.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Described above.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Other Wiki actions.

Vectorise Logo

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The logo is currently a PNG, however, initially it was planned to be a vector SVG.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Add paths and vectors and use SVG file in most places.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Many.

Switch to own Project Card Action

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Moving an issue card from "In progress" to "Code review" is a long script.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Make a separate action and then use it. That is - https://github.com/ineshbose/project-card-action

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Other actions.

Deploy docs on ReadTheDocs

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The Wiki of the repository would be more academic based (with meeting notes), etc. But it has always been a plan to have a public version built and deployed to ReadTheDocs.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

The same files, with a separate YAML would be used to deploy on ReadTheDocs.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Since the repository is private, a possible way to deploy this on ReadTheDocs for free would be using API keys (similar to GitLab).

Additional context

Add any other context or screenshots about the feature request here.

Update meeting notes to a format in the same PR.

Server deployment

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The Django server database needs to be hosted on a server.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Deploy somewhere.

Yarn Migration

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Currently, the frontend project uses classic Yarn v1 to manage dependencies, however Yarn v2 (Berry) has been out for a while.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Research and migrate if necessary. https://yarnpkg.com/getting-started/migration

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Switch to NPM.

Provide Resources

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The app requirement shows a Resources tab which would also include Eatwell Guide.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Implement!

README Symlinks

Describe the bug

Provide a clear and concise description of the bug.

Currently, there are some files that are duplicate, but under different name mostly due to required/expected formats like src/manual.md, docs/index.md, etc.

Steps to reproduce

Please provide steps to reproduce the behaviour.

  1. cat src/manual.md & cat src/README.md
  2. diff src/manual.md src/README.md

Expected behavior

Please provide a clear and concise description of what you expected to happen.

Can also be seen as a feature. There should be no diff, but on making changes to any one file, there have to changes everywhere.

Environment

Please provide a concise description of your environment.

Windows & Ubuntu

Additional context

Add any other context about the problem here.

It would be best to create symlinks with the core required files, for eg src/manual.md ==> src/README.md , docs/index.md ==> docs/Home.md ==> docs/README.md.

Switch to Poetry

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Right now, pip is used to manage Python dependencies for the project.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Similar to using Yarn for frontend, switch to Poetry.

Application Notifications

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Users need to be reminded to log their portion intakes at certain times.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Implement.

Status Report

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

A short status report on the project is due at the end of Semester 1. The report must be absolute maximum three pages long (1-2 pages recommended) and covering the following (four P's):

  • Project Description: clear description of the project, i.e. what it is that has to be done
  • Progress Report: what you have achieved as of time of writing
  • Plan of Work: a detailed plan, with deliverables, for the remainder of the project
  • Problems and Risks: any difficulties that you foresee or have experienced

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Using the TeX template provided, write up the report by 13 December (Week 12), and convert to both PDF and Markdown (look into action and command).

Monorepo Technique

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Currently, source code lives in src/ but also is futher classified into backend/ and frontend/, so you have to change directory to run the app.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Reorganise src/ to have manage.py and package.json at that level, but also have a package.json or something in root (look into Yarn Workspaces).

Population Script for Backend

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

To have some default data on the app, it would be ideal to create a population script.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Write a population script for the Django database.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Testing will probably use a temporary database.

Bottom Bar Design

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The wireframes used a bottom bar navigator with the theme colour instead of using system colour.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Recolour the bar accordingly.

Add React Native basic app

Description

To get started on the front-end of the app, add a basic React Native app to the repository.

Steps

  • Add a frontend structure to the src/ directory.
  • Start a React Native app
  • Include .gitignore

Add a linter to the backend

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Code linting is important for maintenance and review. It's just better practice.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Adopt Black linting along with a GitHub Action that checks everything to be linted.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Django does not adopt Black traditionally, but a lot of people are still going ahead with it. There are linters for Django as well, but Black blows many out of the water, and also there is previous experience with Black.

Add base pages linked to navigator

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There are 4 tabs on wireframes.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Add them in React Native.

Deployment to Google Play Store

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The React Native app needs to be available on the Google Play Store for Android devices.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Refer https://reactnative.dev/docs/next/signed-apk-android

Add Ethics Form

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The project requires evaluation after the implementation which will be done with human users.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

An ethics checklist / form needs to be signed and added to this repository so that it's publicly available.

Formalise Meeting Notes

Describe the issue

Provide a clear and concise description of the problem.

Meeting notes in docs/ are not upto a good standard.

Proposed solution

Review and formalise a template.

Sign Up Form

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There is a non-functioning sign-up form on the app right now.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Make sure it works and creates accounts.

Frontend env type definitions

Describe the bug

Provide a clear and concise description of the bug.

Since the project uses TypeScript and react-native-dotenv, there seems to be a warning. Ref goatandsheep/react-native-dotenv#269

Steps to reproduce

Please provide steps to reproduce the behaviour.

  1. Open VSCode
  2. Install dependencies
  3. Check api/auth.ts.

Expected behavior

Please provide a clear and concise description of what you expected to happen.

No error/warnings.

Environment

Please provide a concise description of your environment.

Any. With @types/react-native-dotenv installed.

Additional context

Add any other context about the problem here.

Encapsulate Type Definitions

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Currently there are two types.ts files in the frontend with more to follow. This can cause confusion and inconsistency during imports.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Create a types/ directory/module and place all definitions there.

Connect React to Django

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The frontend needs to interact with the API.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Implement.

Statistics of Logs

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The app requires visualisation of portion logs.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Show graphs and a tab.

UI Home Page

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

To start off the UI, there needs to be a home page.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Create one.

Make the repository public with license

Description

For better viewing, evaluation and sharing, make the repository public.
It would be ideal to go public later in the course as that would reduce the scope for someone to plagarise.

Steps

  • Decide on licensing (considering academic conduct)
  • Add banner
  • Assets, logos and icons to be adjusted

Django runserver default argument

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

manage.py can't be run simply and needs system arguments.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Default arguments to runserver if none provided.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

Bash scripts.

Graph QL

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

The backend currently uses REST API, but now there seems to be preference to Graph QL.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Use django-graphene in another app called graph similar to rest.

Separate Server Auth App

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

User is currently in main app, but can be switched out in a separate auth app. Along with that, main app can likely be renamed to something else.

Add a formatter to the frontend

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Formatting frontend code will be a very good idea so that it is easily understandable through components and consistent.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Use Prettier along with a GitHub Action that checks everything to be formatted.

Describe alternatives you've considered

Please provide a clear and concise description of any alternative solutions or features you've considered.

ESLint will run along Prettier to ensure minimum errors.

Axios Object Usage

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

When the frontend makes calls to the backend using Axios, the full URL is being used everywhere.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Create an axios instance using axios.create() that would use the base URL.

Add header action

Is your feature request related to a problem?

Provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

An action is provided at the header in the wireframes.

Describe the solution you'd like

Please provide a clear and concise description of what you want to happen.

Add that with changing icons according to page.

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.