To complete this project,
- Implement as many of the Feature Requirements (details below) as possible
- Conform to the Front-end Layer Requirements and Back-end Layer Requirements (details below)
- Include two additional features:
- One front-end layer feature
- One back-end layer feature
Your front-end layer must use:
- React
- create-react-app
- axios
Please avoid using additional packages if possible. (But please install any packages needed for your project to run!)
The front-end layer must be deployed on Render. This requires independent research starting with the search query "react render deploy."
Your back-end layer must use:
- Flask
- PostgreSQL
- SQLAlchemy (including Migrate and Alembic)
- venv
- python-dotenv
- gunicorn
- pytest
- flask_cors
Please avoid using additional packages if possible. (But please install any packages needed for your project to run!)
The back-end API must be deployed on Render.
Aim to complete all of these features. You and your team should feel empowered to:
- Interpret the features however you'd like
- Style the web app however you'd like, as long as it's usable
- Prioritize which features come first
It's recommended to prioritize creating and reading Boards and Cards.
As a user, I want to be able to...
- Create a new board, by filling out a form. The form includes "title" and "owner" name of the board.
- See an error message if I try to make a new board with an empty/blank/invalid/missing "title" or "owner" input.
- All error messages can look like a new section on the screen, a red outline around the input field, and/or disabling the input, as long as it's visible
- Hide the "New Board" form, so I don't have to see the "New Board" form all the time when I'm looking at cards.
- View a list of all boards.
- Select a board.
As a user, I want to be able to...
- Create a new card for the selected board, by filling out a form and filling out a "message."
- See an error message if I try to make the card's "message" more than 40 characters.
- All error messages can look like a new section on the screen, a red outline around the input field, and/or disabling the input, as long as it's visible
- See an error message if I try to make a new card with an empty/blank/invalid/missing "message."
- View a list of cards that belong to the selected board.
- Delete an existing card.
As a user, I want to be able to...
- Press a "+1" icon on a single card, to indicate that I agree with it.
- See the number of "+1"s on a single card. Every card starts with zero "+1"s.