Online photo sharing platform.
- Multi-file upload.
- Optional photo sharing; to the public or specific users.
- Mass photo deletion.
- Responsive UI.
Welcome Screen | Image Gallery | Single Image (Mobile) |
---|---|---|
- Node.js
- MongoDB
- The
models
directory contains a separatemodels.ts
npm module used by both the client and server. - The
server
directory contains all server code. Build artifacts are stored inserver/dist
. - The
client
directory contains all client code. Build artifacts are stored inclient-dist
.
Certain envrionment variables are required to run. During development, these can be specified in a .env
file.
The template.env
file shows what veriables are needed and how to format them.
Run npm run install
to install dependencies in the models
, server
, and client
directories using one command.
When developing, the modules can be set to run continuously and automatically recompile when relevant files change.
- Continuously build the
models
module:npm run dev-models
. - Continously run the
server
module without building:npm run dev-server
. - Continuously run the
client
module without building:npm run dev-client
. Note that the client and server always use the latest compiled version of the models and won't run otherwise.
Each module must be built separately in this order:
- Build
models
module:npm run build-models
. - Build
server
module:npm run build-server
. - Build
client
module:npm run build-client
. To perform all steps in one command, usenpm run build
.
Once all modules have been built, use npm start
to launch the server.
Use npm all
to install dependencies, build each component, and start the server, using a single command.