Skip to content

gigili/good-food-tracker-api

Repository files navigation

Good Food Tracker

Dependency Badge Repo size badge Open issues badge Licence badge Forks badge

All Contributors

The project aims to allow the users to take pictures and/or leave notes, ratings, comments about restaurants they visit in order to be able to reference it later when they try to pick were they want to go eat out or order from.

What is this repository for?

This repository is part of the Good Food Tracker project and is used for the development of the backend system.

For the list of existing or currently being developed feature please refer to the features section of this document.

How do I get set up?

To get started on development follow these steps:

  • Rename .env.example to .env;
    • Add your values to the .env file;
  • Start up docker containers with docker-compose up;
  • Create postgres database;
    • To create the database you can use the pgAdmin web UI;
      • pgAdmin web UI can be accessed at: localhost:${PGADMIN_PORT};
      • login with ${PGADMIN_DEFAULT_EMAIL} and ${DB_PASSWORD}
      • create a server with these connection properties:
        • Host : gft-postgres
        • Port : ${DB_PORT}
      • create a database with these properties:
        • name : ${DB}
        • username : ${DB_USERNAME}
        • password : ${DB_PASSWORD}
    • Rename .migration.example.config into .migration.config;
      • Add your values to the .migration.config file;
    • Run docker-compose exec app php ./cli/migrate.php --init to initialize the migrations table;
    • Run docker-compose exec app php ./cli/migrate.php --up to run all the migrations;
    • Run docker-compose exec app composer install to install php dependencies
  • Visit localhost:${APACHE_PORT} to see if everything is working;

Contribution guidelines

  • Keep code clean and simple;
  • DO NOT alter the database directly, use migrations;
  • Always use branches and pull requests when making changes to the codebase;

Who do I talk to?

  • If you have any question you can contact Igor Ilić via:
  • If you have found a bug or want to ask for a new feature, you can open a new issue

Features

List of currently completed or still being developed feature:

  • Auth
    • Login
    • Register
    • Verify account
    • Reset password
      • Request password reset code
      • Verify reset code & set new password
  • User profile
    • Get user profile information
    • Update user profile information
    • Delete user profile
  • Country
    • List of countries
    • Get single country info
    • Add / edit country
    • Delete country
  • City
    • List of cities
    • Add / edit city
    • Delete city
  • Restaurants
    • List of all the restaurants
    • Fetch info about single restaurant
    • Add / edit restaurant
    • Delete restaurant
  • Reviews
    • List of users reviews
    • Add / edit your review
      • Add / remove image for a review
    • Delete your own review

Notes

Database diagram with current, future and optional tables can be found on dbDiagram.io.

Possible future tables in the database diagram will be positioned on the right side of the diagram. Whereas the existing ones or the ones that are being worked on are positioned on the left side.

Contributors ✨

Thanks go to these wonderful people (emoji key):


negue

🤔

Subham Sahu

💻

Kate Bartolo

📖

Rajakavitha1

📖

skrrra

💻

Ishan Vyas

💻

Abilogos

🐛 📖 💻

This project follows the all-contributors specification. Contributions of any kind welcome!