=======
I love cyberpunk. I love API design (really, I do) and I wanted to practice my NodeJS skills. So what better way to bring these three things together than using expressJS to build an API of famous cyberpunk novels, characters and authors ?
The goal was to develop a clean API available to developers to test their applications with. I am fully aware that there are a million of them out there already, but let's be honest, no one cares about Lorem Ipsum.
Here's a quick list of wintermute's features:
- Support for GET, POST, PUT, PATCH and DELETE requests
- Built with the best practices of REST in mind
- Simple, clean and easy to understand API
- Support for HasMany relationships
- Uses PostgreSQL for the database
- No need to register (for now)
- Support for nested resources
- Compatible with the most popular JS frameworks
- Secured with SSL
- Graceful error handling
You can check out some examples of how to use the API 0.
I will be more than happy to accept contributions to this project, especially if you can teach me a trick of two about API design and security.
So feel free to initiate a PR and I will look into it 😄 (The only thing that I require is that you give an explanation as to how your solution is better/improves security etc)
- Write a detailed documentation
- Implement rate limiting
- Implement pagination
- Implement caching
- Add support for OPTIONS requests
- Create better (cleaner) tests
- Extract (when possible) controller logic to their own functions (to help with unit testing)
- Express JS
- The Sequelize ORM
- How to create roles and manage a postgres installation
- How to dynamically set environment variables using the infamous
package.json
file - How to merge and clone objects using
Object.assign
- ES6 Destructuring of objects
- Compare equality of arrays