Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gigili/good-food-tracker-api

Good food tracker - API
https://github.com/gigili/good-food-tracker-api

food-tracker hacktoberfest php postgres restaurants review-app

Last synced: 2 months ago
JSON representation

Good food tracker - API

Awesome Lists containing this project

README

        

# Good Food Tracker #

![Dependency Badge](https://img.shields.io/librariesio/github/gigili/good-food-tracker-api?style=for-the-badge)
![Repo size badge](https://img.shields.io/github/repo-size/gigili/good-food-tracker-api?style=for-the-badge)
![Open issues badge](https://img.shields.io/github/issues/gigili/good-food-tracker-api?style=for-the-badge)
![Licence badge](https://img.shields.io/github/license/gigili/good-food-tracker-api?style=for-the-badge)
![Forks badge](https://img.shields.io/github/forks/gigili/good-food-tracker-api?style=for-the-badge)

[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#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](#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:
* [Twitter](https://twitter.com/Gac_BL)
* [Discord](https://discord.gg/VCwfegn4Gn)
* [E-mail](mailto:[email protected])
* If you have found a bug or want to ask for a new feature, you can open a
new [issue](https://github.com/gigili/good-food-tracker-api/issues)

## Features ###

List of currently completed or still being developed feature:

* [x] Auth
* [x] Login
* [x] Register
* [x] Verify account
* [x] Reset password
* [x] Request password reset code
* [x] Verify reset code & set new password
* [x] User profile
* [x] Get user profile information
* [x] Update user profile information
* [x] Delete user profile
* [x] Country
* [x] List of countries
* [x] Get single country info
* [x] Add / edit country
* [x] Delete country
* [x] City
* [x] List of cities
* [x] Add / edit city
* [x] Delete city
* [x] Restaurants
* [x] List of all the restaurants
* [x] Fetch info about single restaurant
* [x] Add / edit restaurant
* [x] 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](https://dbdiagram.io/embed/5f58bd9e88d052352cb6870d).

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](https://allcontributors.org/docs/en/emoji-key)):



negue

πŸ€”

Subham Sahu

πŸ’»

Kate Bartolo

πŸ“–

Rajakavitha1

πŸ“–

skrrra

πŸ’»

Ishan Vyas

πŸ’»

Abilogos

πŸ› πŸ“– πŸ’»

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification.
Contributions of any kind welcome!