Coder Social home page Coder Social logo

mind-travel-api's People

Contributors

doppins-bot avatar maximemd avatar

Watchers

 avatar  avatar

mind-travel-api's Issues

Create a DynamoDB database for albums

User story

As a developer
I want to have access to a JSON document for each album
In order to get informations about the album, included : album name, thumbnail image, owner, ...

Subtasks

  • Create a 'mind-travel-albums' table in DynamoDB
  • Set the 'awsDynamoDbTableUsers' property in the credentials.json files
  • Create a route for album creation (POST /albums)
  • Insert into the DynamoDB table a new document on album creation, specifying the new album informations, which are :
    • name: string
    • thumbnailPictureKey: string
    • owner: string
  • Send the albums informations on GET /albums method

Make a production-ready build workflow

User story

As a developer
I want to build correctly my app with 'npm run build'
In order to get in the /dist folder a production-ready code

Subtasks

  • Set resolveJsonModule to false in tsconfig.json in order to exclude it from the build
  • Update the config.json and credentials.json files in order to use them without the resolveJsonModule set to true
  • Update the npm run build script in package.json

Validate request body parameters with express-validator

User story

As a developer
I want to validate the body parameters of every requests
In order to avoid wrong format exceptions during the processing of the requests

Subtasks

  • install express-validator
  • set validation on every route

Create different users levels (admin, regular user, ...)

User story

As an administrator
I want to have specials rights on the app
In order to be able to do specific actions that the regular user cannot achieve

Subtasks

  • Create a 'Users' model which will define the user properties retrieved from the database
  • Update the POST /users route in order to define if the newly created user level (administrator or a regular user)
  • Send back the user level in the POST /users/authenticate response body
  • Create an express middleware which will check if the current user is an administrator
  • Set the express middleware in following existing route : POST /users

Import the AWS Lambda 'Mind Travel Thumbnail' function Deployment Package

User story

As a developer
I want to have access to the 'Mind Travel Thumbnail' Lambda function source code, and some documentation
In order to implement my own Lambda function for my app instance

Subtasks

  • Export the Deployment Package from the AWS Lambda function
  • Import it in the mind-travel-api git repository
  • Write some documentation on how to implement it and set the triggers between the Lambda function, the S3 buckets and the CloudWatch logs

Write the README.md documentation file

User story

As a developer
I want to have access to a basic documentation file
In order to know how to establish a developing environment and to set a production instance of the API

Subtasks

  • Describe the application : goal, technologies and frameworks used, vision, ...
  • Explain the local installation steps

Set a Jenkinsfile template instead of the current Jenkinsfile files

User story

As a developer
I want to have access to a Jenkinsfile template, and know how to configure my Jenkins instance
In order to deliver my own instance of the app

Subtasks

  • Update the current Jenkinsfile to set environment-related parameters as environment variables
  • Update the maxmd.xyz Jenkins instance to run the updated Jenkinsfile
  • Document the Jenkins pipeline configuration

Implement TypeScript

User story

As a developer
I want to use TypeScript instead of JavaScript
In order to have strongly typed models and logic

Subtasks

  • Install TypeScript, and integrate it in the Babel compiler workflow
  • Update the current code to implement TypeScript

Write Unit Tests to cover the current source code

User story

As a developer
I want to have unit tests to cover every part of the application
In order to avoid regressions as much as possible

Subtasks

  • Install Jest and Enzyme
  • Write Unit Tests
  • Have at least a 80% code coverage value

Use ts-node instead of babel

User story

As a developer
I want to execute ts-node instead of babel-cli to run my app
In order to simplify the pre-compiling workflow

Subtasks

  • Install ts-node and remove babel
  • Update the npm scripts in package.json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.