This is a simple website to search for new games and keep track of your games in your collection. I hope you enjoy playing around with it as much as I did making it. Please let me know if there are any improvements/bugs for me to make. I plan to keep working on this to make it better and better.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
I was inspired to make this project by own personal need for a way to organize my board games and to find new ones that are good. We all have bought a game that we played once/never because it was too complicated, not fun or just not the right number of players.
This is my first capstone project with Springboard. I built the backend with python using Flask and psql/SQLAlchemy for a database/ORM. I used Jinja, Vanilla Javascript, JQuery, and Bulma for front end.
Every search hits the api to get games and homepage is a basic search of most popular games. When you click on more information or add a game to your collection, then it is added to the database.
The search function was tricky because the api wouldn't let you search for say a name and a category at the same time. It is a browse the category and search by name. The categories/mechanics/players are in a select drop down menu for easy finding.
I used Javascript to let you add/remove games from your collection without reloading page and to handle hiding search boxes you weren't currently using.
Bulma was used to help layout the page and give me building blocks/style elements.
Special thank you to Board Game Atlas for their API which has thousands of games to comb through.
- User will go to home page
- User can login/signup and be redirected back to homepage.
- User can then search/browse for new games to add to their collection from taskbar
- Any time user wants more information on a game, they just click more info button.
- User can check their collection/profile at any time by clicking on their name from task bar
- User can edit their information from their profile
To get a local copy up and running follow these simple steps.
- Install python at python.org
- Install PSQL and setup database - my name is boardgames_db so change BOARDGAME_URL in .env if you want a different name
-
Clone the repo
git clone https://github.com/MichaelCClary/CapstoneOne.git
-
Install requirments
pip install -r requirements.txt
-
Get a free API key at https://www.boardgameatlas.com/api/docs
-
Enter your API in .env
client_id = 'Enter API KEY'
-
Enter your SECRET_KEY in .env
SECRET_KEY = 'SECRET KEY HERE'
-
Set enviroment variables
SOURCE .env
-
Run from terminal
Flask Run
Current - high priority features
- Tags as links to that mechanic
- Improve search function
- Add favicon/vault icon
- A way to organize/reorder your collection
Some more distance features
- More than one list in collection
- Friends/friends list
- Browse other users
- Rate games
- Recommend games
- A petting zoo
- A batcave
Michael Clary - - [email protected]
Project Link: https://github.com/MichaelCClary/CapstoneOne