Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andresmweber/nomenclate-api-python

An API for Nomenclate created using Serverless, Python and MongoDB
https://github.com/andresmweber/nomenclate-api-python

Last synced: about 1 month ago
JSON representation

An API for Nomenclate created using Serverless, Python and MongoDB

Awesome Lists containing this project

README

        


nomenclate logo

Nomenclate API



Status


Issues




Documentation CD


CI


CD




License


GitHub code size in bytes


CodeCoverage


readme



An API using the Nomenclate package to automate and generate strings based on arbitrary user-defined naming conventions.




Github Favicon Live Demo
ยท
Installation

## ๐Ÿ“ Table of Contents

- [Installation](#installation)
- [Prerequsites](#prerequsites)
- [Install steps](#install-steps)
- [๐Ÿš€ Deployment ](#-deployment-)
- [Modifications to `serverless.yml`](#modifications-to-serverlessyml)
- [Deploying to AWS](#deploying-to-aws)
- [โ›๏ธ Tech Stack ](#๏ธ-tech-stack-)
- [โœ๏ธ Authors ](#๏ธ-authors-)

# Installation

### Prerequsites

1. [Python](https://www.python.org/) and [Python Poetry](https://python-poetry.org/) is installed
2. [NodeJS](https://www.nodejs.org/) is installed
3. You have a [Serverless](https://www.serverless.com/) account
4. You have an [AWS](https://aws.amazon.com/) account
5. You have started a [MongoDB Atlas](https://www.mongodb.com/) cluster.

### Install steps
1. `npm install`
2. `poetry install` (To install in the top level directory always: `poetry config virtualenvs.in-project true`)
3. You should now have access to the serverless CLI (if you haven't, you need to login using `sls login`)
4. Now feel free to [invoke the lambdas](https://www.serverless.com/framework/docs/providers/aws/cli-reference/invoke-local/) using `sls invoke local --function `

## ๐Ÿš€ Deployment

### Modifications to `serverless.yml`
1. The default is an `AWS profile` named '**aw**'. If you have a different profile in your [credentials file](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) you need to change the name in the provider.profile section.
2. If you do not require/have a [custom domain name or certificate](https://www.serverless.com/blog/serverless-api-gateway-domain), remove the `customDomain` section.

### Deploying to AWS

This project is deployed on AWS using Serverless to automate the deployment.

Once the modifications are put in to `serverless.yml` you can use the [Serverless CLI](https://www.serverless.com/framework/docs/providers/aws/cli-reference/) to deploy.

There are also ease of use Poetry commands in place:
- `poetry run poe deploy-domain` - To deploy the custom domain (necessary before deploying if you set it up in the modifications)
- `poetry run poe deploy` - To deploy the stack to AWS

## โ›๏ธ Tech Stack

- [NodeJS](https://www.nodejs.org/) - Web Server
- [Python](https://www.python.org/) - Front End
- [AWS](https://aws.amazon.com/) - Hosting
- [Serverless](https://www.serverless.com/) - CD
- [MongoDB](https://www.mongodb.com/) - Database

## โœ๏ธ Authors