Make company global travel and accommodation easy and convenient for the strong workforce of savvy members of staff, by leveraging the modern web.
- Postgresql and database created
- Redis
- Clone the application and run
npm install - Run
cp .env.example .envto create .env variables and fill them - Run
npm db-migrate:devto create db migrations - Run
npm db-seed:testto add seeders to the database if u need. - Run
npm run start:devto start development server
Super Administrator
{
"userEmail": "johndoe@gmail.com",
"userPassword": "Root1123#"
}
Manager
{
"userEmail": "marveldev53@gmail.com",
"userPassword": "Root1123#"
}
Travel Admin
{
"userEmail": "janedoe@gmail.com",
"userPassword": "Root1123#"
}
Requester
{
"userEmail": "marveldev53@gmail.com",
"userPassword": "Root1123#"
}
- Install Docker from Docker For Mac or Docker For Windowsfor windows you will also need to install docker-compose
- After cloning the application from Github. Switch to the main app where there's the Dockerfile and the docker-compose.yml file
- Create a .env file and copy .env.example and fill the variables
- Run
docker-compose up. Make sure port3000is not taken if so change the port in docker-compose.yml file. - Test the application on the link
127.0.0.1:3000/api/docs
| End Point Name | Method | Category | EndPoint | Description |
|---|---|---|---|---|
| Register User | POST | Users | /api/v1/auth/signup |
This registers a users to the system |
| Verify User | PATCH | Users | /api/v1/auth/verify?token= |
User verify account |
| Login User | POST | Users | /api/v1/auth/sigin |
This signs in a user to the system |
| Update User Role | PUT | Users | /api/v1/auth/updateRole |
Manager can update user roles |
| Reset User Password | PUT | Users | /api/v1/auth/resertPassword/{id}/token |
User reset Password |
| Get UserProfile | GET | Users | /api/v1/profile |
Gets the user profile |
| Update UserProfile | PATCH | Users | /api/v1/profile |
Updates user profile |
| Signout | POST | Users | /api/v1/auth/signout |
Logsout singed in user |
| Unsubscribe | PATCH | Users | /api/v1/auth/unsubscribe |
Unsubscibe from email notifications |
| Preferences | PATCH | Users | /api/v1/auth/email-preferences |
Change email notification preferences |
| One Way Request | POST | Requests | /api/v1/requests/oneway |
Creates a oneway request |
| Return Request | POST | Requests | /api/v1/requests/oneway |
Creates a oneway request |
| Multicity Request | POST | Requests | /api/v1/requests/multi_city |
Creates a oneway request |
| Pending Requests | GET | Requests | /api/v1/requests/ |
Manager get all pending requests |
| Search Requests | GET | Requests | /api/v1/requests?{params} |
Users can search through requests |
| Approve Request | PATCH | Requests | /api/v1/requests/approve/{id} |
Manager Approve request using Request Id |
| Reject Request | PATCH | Requests | /api/v1/requests/reject/{id} |
Manager Reject request using Request Id |
| Get one request | GET | Requests | /api/v1/requests/{id} |
Manager and request owner can get it by id |
| All accommodations | GET | Accommodations | /api/v1/accommodations |
Get all accommodations |
| Accommodation by ID | GET | Accommodations | /api/v1/accommodations/{id} |
Get accommodation by ID |
| Add accommodation | POST | Accommodations | /api/v1/accommodations |
Create accommodation |
| Rate accommodation | POST | Accommodations | /api/v1/accommodations/{id}/ratings |
Rate an accommodation |
| Review accommodation | GET | Accommodations | /api/v1/accommodations/{id}/feedback |
Add feedback to accommodation |
| Like/Unlike | PATCH | Accommodations | /api/v1/accommodations/{id}/like |
User to like/unlike accommodation |
| Add Room | POST | Accommodations | /api/v1/accommodations/rooms |
Travel Admin to add rooms to accommodation |
| Add comment | POST | Comments | /api/v1/request/{id}/comment |
User can comment on Requests by Id |
| Requests Comments | GET | Comments | /api/v1/request/{id}/comment |
User get all comments they added to requests |
| Update comment | PATCH | Comments | /api/v1/requests/comments/{id} |
User update comment by Id |
| Delete comment | DELETE | Comments | /api/v1/requests/comments/{id} |
User delete comment by Id |
- NodeJs / Express
- Postresql Database with Sequelize as ORM
- Redis
- Swagger for API Documentation
- Heroku For Hosting