Skip to content

Project Proposal

Jacob Prall edited this page Sep 3, 2020 · 14 revisions

Background and Overview

AcrossWords is a single-player word-based game designed and implemented using MongoDB, Express, React and Node.

The game presents the user with a timer, score, clue and blank spaces. If the user answers the clue correctly, they receive points and a new word is generated. If they answer incorrectly, the timer is docked and a new word is still dynamically generated based on letters of the given input.

As the game goes on, the clues become more difficult and worth more points. The objective is to score as many points as possible in the given time.

Bonus: The user's score is persisted and their progress is tracked. Their stats can be viewed by others.

Functionality MVP

  1. User Authentication
  2. Present clues and input, styled
  3. Generate next word and clue dynamically, given previous word entered
  4. Timer and Score functionality
  5. Database that responds dynamically to difficulty settings as game progress

Bonus: 6. Shareable user stats

Technologies and Technical Challenges

Technologies

  • MongoDB
  • Express
  • Node
  • React/Redux

Technical Challenges

  • Generating clue/word responses based on correct and incorrect guesses.
  • Displaying the words with animations.
  • Fetching and querying database for new clue/word pairs

Group Members and Work Breakdown

8/29 - 8/30

  • Jacob: User Auth and Project Proposal
  • Phil
  • Aatef
  • Tim
  • Nick

8/31

  • Jacob: User Auth, structuring backend
  • Phil: Structuring backend
  • Aatef: Styling Navbar and login/signup
  • Tim: Creating database seeds
  • Nick: Core game logic

9/1

  • Jacob: Structure backend routes
  • Phil: Structure backend routes
  • Aatef: Frontend
  • Tim: Database logic
  • Nick: Structure backend routes

9/2

  • Jacob: Structure backend routes
  • Phil: Structure backend routes
  • Aatef: Frontend
  • Tim: Frontend routing
  • Nick: Backend game logic

9/3

  • Jacob: Frontend
  • Phil: Backend
  • Aatef: Frontend
  • Tim: Backend
  • Nick: Frontend

9/4

  • Jacob: Frontend
  • Phil: Backend
  • Aatef: Frontend
  • Tim: Backend
  • Nick: Frontend

9/5

  • Jacob: Frontend
  • Phil: Backend
  • Aatef: Frontend
  • Tim: Backend
  • Nick: Frontend

9/6

  • Jacob: Frontend
  • Phil: Backend
  • Aatef: Frontend
  • Tim: Backend
  • Nick: Frontend