/Questn

๐Ÿ’ฐ Restful Node.Js API for a Mission-based mobile application

Primary LanguageJavaScript

Contributors MIT License LinkedIn Gmail


Logo

Restful API for a mobile app that rewards users based on mission completion.
ยซ DOC ยป

Report Bug ยท Request Feature

Table of Contents
About the Project
Installation
Usage
Contributing
Contact
License
Acknowledgements

About The Project


During my engineering curriculum we had an assignment that required developping a Tourism product. We made a mobile app that rewards users after completing missions related to visiting specific places, and this is the backend API behind it.

Built With

  • Node.Js Cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
  • Express.Js : The go-to web application framework for Node.js.
  • MongoDb : Cross-platform document-oriented database program, classified as a NoSQL and uses JSON-like documents with schema.
  • JWT : Json Web Token | A JSON-based open standard for securing the API routes with verifiable claims.
  • OpenAPI : (Swagger Specification) | , A specification for describing, producing, consuming, and visualizing RESTful web services.

Installation

  1. Download or clone the repository.
  2. ADD to your root a config folder with a key.js file containing your MongoDb URI.
module.exports = {
  mongoURI: "mongodb+srv://INSERT YOUR URI HERE",
  secretOrKey: "ADD A SECRET KEY HERE"
};

It should look like this :

    .
    โ”œโ”€โ”€ ...
    โ”œโ”€โ”€ config                    # Config folder.
    โ”‚   โ”œโ”€โ”€ keys.js               # contains your secret keys and DB connexion URI.
    โ”‚
    โ””โ”€โ”€ ...
  1. Install dependencies : npm install (with no args, in package dir)

Usage

Start the server by running nodemon start server

With the help of POSTMAN you can check your routes and make API calls.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature)
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

LinkedIn Gmail

License

Distributed under the MIT License. See MIT License for more information.

Acknowledgements