https://github.com/magnitopic/camagru
Web aplication to take, edit and share pictures with your webcam
https://github.com/magnitopic/camagru
42school camagru database docker html-css-javascript mvc php sql web-development webcam
Last synced: about 2 months ago
JSON representation
Web aplication to take, edit and share pictures with your webcam
- Host: GitHub
- URL: https://github.com/magnitopic/camagru
- Owner: magnitopic
- Created: 2024-08-15T13:59:46.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-27T18:31:07.000Z (over 1 year ago)
- Last Synced: 2025-01-19T13:55:44.473Z (over 1 year ago)
- Topics: 42school, camagru, database, docker, html-css-javascript, mvc, php, sql, web-development, webcam
- Language: PHP
- Homepage:
- Size: 4.79 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Camagru
This project challenges you to make a webpage from which to upload, edit and share pictures with other users. You can choose to take a picture with your webcam or upload an image directly from your computer. You can also add stickers, change their size, rotation and position, and save the final image. The project is written in PHP, HTML, CSS and JS.
There is a public gallery where the images published by all users are displayed. You can like and comment on the images, and the author of the image will receive an email notification, if he wants.
## How to run
```bash
cp .env.example .env
# Edit the .env file with your database credentials
vim .env
make
```
> **_MacOS:_** You may need to also run this command for the .env variables to work properly
```bash
export $(grep -v '^#' .env | xargs)
```
## Docker containers
This projects uses three docker containers with the following services:
- **nginx** - Used as a proxy server to serve the PHP application
- **php** - PHP server responding to the user's requests and interacting with the database. Backend is in pure PHP and frontend is in HTML, CSS and JS
- **mysql** - Database to store the application's data. It has the structure shown below
## Database structure