A custom crossword maker. Enter your word into an elegant and verdant interface, and millions of calculations will check against a word bank of thousands to create complete crossword grids to your specifications.
This backend is live on Heroku.
The frontend counterpart can be found here.
The live site is on Netlify.
You can also download this repository and run the project locally by following these steps:
-
Clone this repository with
git clone https://github.com/chicorycolumn/Cook-Up-A-Crossword-BE
If you are unsure what this means, instructions can be found here or here. -
Open the project in a code editor, and run
pip install -r requirements.txtto install necessary packages. -
Run
python main_with_itertools.pyto run the project. -
Use an API testing tool like Insomnia to test the endpoints of this project, by sending http requests to http://localhost:5000.
General instructions for taking a Python project and hosting it on Heroku for automatic deployment are as follows:
-
Ensure the project is initialised in a Git repository. If you are unsure what this means, instructions can be found here and here.
-
Install the Heroku CLI if not already, with
pip install heroku. -
Run these three commands:
heroku loginheroku create my-awesome-app --buildpack heroku/pythonheroku git:remote -a my-awesome-app
-
Login to Heroku and enable automatic deploys from Github, and connect the repo.
-
Ensure the requirements.txt file is up to date, with
pip freeze > requirements.txt.
Now when you commit and push to Github, Heroku will deploy the latest version of the project automatically.
-
Python - The backend coding language
-
PyCharm - The backend code editor
-
TypeScript - The frontend coding language
-
VisualStudioCode - The frontend code editor
-
Heroku - The cloud application platform used for the backend
-
Netlify - The hosting service used for the frontend
-
Eventlet - The networking library
-
Flask - The microframework
-
Flask-SocketIO - The backend realtime librar
-
Gunicorn - The Python server
-
Angular - The frontend framework
-
Socket.IO - The frontend realtime library