$ npm install
$ cp .env.example .env
set these environment variables
npm run dev (:5000)
$ docker compose up
Available at http://localhost:5000/api/memory
To stop and remove containers
$ docker compose down
To run in production mode
$ docker compose -f docker-compose.yml -f docker-compose.prod.yml up
Available at http://localhost/api/memory
You can pass an additional flag -d
to keep it running in background
BaseURL : http://localhost:5000/api
Open endpoints require no Authentication.
Login POST /user/login/
Closed endpoints require a valid Token to be included in the header of the request. A Token can be acquired from the Login view above.
Endpoints for viewing and manipulating the Memories.
Create Memory: POST /memory
Get Everyone's Memories: GET /memory?
Show Personal Memories: GET /memory/me?
Delete A Memory: DELETE /memory/{{MemoryId}}
Like A Memory: POST /memory/{{MemoryId}}/like
Share A Memory: POST /memory/{{MemoryId}}/share
Post A Comment: POST /memory/{{MemoryId}}/comment
Endpoints for viewing and manipulating the Users.
Login: POST /user/login/
Create User: POST /user/
Verify User: GET /user/verify/{{EMAIL}}/:token
Resend Activation Link: POST /user/resend-activation-link
Endpoints for viewing and manipulating the Comments.
Get Memory Comments: POST /comment?
Delete A Comment: DELETE /comment/{{CommentId}}
Endpoints for User's password reset.
Request Password Reset: POST /reset-password
Reset Password: POST /reset-password/:userId/:token
Endpoints for Uploading Image.
Upload Image: POST /upload/image
memoryapp
├─ .dockerignore
├─ .gitignore
├─ app.js
├─ config
│ └─ db.js
├─ controllers
│ ├─ commentController.js
│ ├─ memoryController.js
│ ├─ passwordResetController.js
│ └─ userController.js
├─ docker-compose.override.yml
├─ docker-compose.prod.yml
├─ docker-compose.yml
├─ Dockerfile
├─ middleware
│ ├─ authMiddleware.js
│ └─ errorMiddleware.js
├─ models
│ ├─ commentModel.js
│ ├─ likedMemoryModel.js
│ ├─ memoryModel.js
│ ├─ sharedMemoryModel.js
│ ├─ tokenModel.js
│ └─ userModel.js
├─ package-lock.json
├─ package.json
├─ README.md
├─ routes
│ ├─ commentRoutes.js
│ ├─ memoryRoutes.js
│ ├─ passwordResetRoutes.js
│ ├─ uploadRoutes.js
│ └─ userRoutes.js
├─ seeder.js
├─ server.js
├─ services
│ ├─ commentServices.js
│ ├─ memoryServices.js
│ ├─ passwordResetServices.js
│ └─ userServices.js
├─ utils
│ ├─ generateToken.js
│ ├─ sendMail.js
│ ├─ uploadImage.js
│ └─ userWithoutPassword.js
└─ validators
├─ memoryValidator.js
└─ userValidator.js