1
Fork 0
photoview/README.md

64 lines
2.4 KiB
Markdown
Raw Normal View History

2019-08-12 16:08:44 +02:00
# PhotoView
2019-07-05 00:36:32 +02:00
2019-08-12 16:16:08 +02:00
[Follow the development progress here](https://www.notion.so/e8a95059eaa74fd7b8b69f8c949c9d08?v=c999e954941b43f4bf5fcec8451a789a)
2019-08-12 16:08:44 +02:00
![screenshot](/screenshot.png)
2019-07-05 00:36:32 +02:00
2019-08-12 16:08:44 +02:00
## Aim of the project
2019-07-05 00:36:32 +02:00
2019-08-12 16:08:44 +02:00
The aim of this project is to make a simple and user-friendly photo gallery application,
that is easy to host on a personal server, to easily view the photos located on that server.
2019-07-05 00:36:32 +02:00
2019-08-12 16:08:44 +02:00
## Main features
> The software is still in early development, and many of the following features, have not been implemented yet.
2019-07-05 00:36:32 +02:00
2019-08-12 16:08:44 +02:00
- **Closely tied to the file system**. The website presents the images found on the local filesystem of the server, directories are mapped to albums.
- **User management**. Each user is created along with a path on the local filesystem, photos within that path can be accessed by that user.
- **Photo sharing**. Photos and albums can easily be shared with other users or publicly with a unique URL.
- **Made for photography**. The website is ment as a way to present photographies, and thus supports **RAW** file formats, and **EXIF** parsing.
2019-07-05 00:36:32 +02:00
2019-08-12 16:08:44 +02:00
## Setup development environment
> This projected is based of the [GrandStack](https://grandstack.io/) starter project.
2019-07-05 00:36:32 +02:00
2019-08-12 16:08:44 +02:00
### Local setup
2019-07-05 00:36:32 +02:00
1. [Download Neo4j Desktop](https://neo4j.com/download/)
2. Install and open Neo4j Desktop.
3. Create a new DB by clicking "New Graph", and clicking "create local graph".
4. Set password to "letmein" (as suggested by `api/.env`), and click "Create".
5. Make sure that the default credentials in `api/.env` are used. Leave them as follows: `NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=letmein`
6. Click "Manage".
7. Click "Plugins".
8. Find "APOC" and click "Install".
9. Click the "play" button at the top of left the screen, which should start the server. _(screenshot 2)_
10. Wait until it says "RUNNING".
11. Proceed forward with the rest of the tutorial.
### [`/api`](./api)
*Install dependencies*
```
(cd ./ui && npm install)
(cd ./api && npm install)
```
*Start API server*
```
cd ./api && npm start
```
### [`/ui`](./ui)
This will start the GraphQL API in the foreground, so in another terminal session start the UI development server:
*Start UI server*
```
cd ./ui && npm start
```
2019-08-12 16:08:44 +02:00
The site can now be accessed at [localhost:1234](http://localhost:1234).
And the graphql playground at [localhost:4001/graphql](http://localhost:4001/graphql)
2019-07-05 00:36:32 +02:00
## Docker Compose
2019-08-12 16:08:44 +02:00
> Not written yet