Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/andresmweber/nomenclate-api-python
- Owner: AndresMWeber
- Created: 2021-04-27T12:38:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-24T05:12:44.000Z (almost 2 years ago)
- Last Synced: 2023-03-03T09:49:31.554Z (over 1 year ago)
- Language: Python
- Size: 1.47 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Nomenclate API
An API using the Nomenclate package to automate and generate strings based on arbitrary user-defined naming conventions.
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 `### 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- [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