Skip to content

sdee/practicando

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Practicando provides a fun, customizable way to master Spanish verb conjugations. Other language learning apps repeat a limited set of flashcards while Practicando dynamically generates an unlimited number of practice questions based on the filters you set.

Practicando dynamically generates flashcards by chosing a pronoun, verb, and tenses. It provides immediate feedback of whether you answered a question correctly. If you answer wrong, it reveals the answer and gives you feedback on what mistake you made.

Demo

demo.mov

Features

  • Infinite practice: instead of learning to the test, a limitless set of flashcards provides you with ample practice with core verb conjugation skills.
  • Customizability: Using the filters, you can customize the verbs, verb tenses, and pronouns you want to practice based on your learning goals.
  • Track progress: The metrics page and history allows you to see your progress and review areas for improvement.
  • Seamlessness: Allows you to fluidly go through flashcards without lifting your hands from the keyboard.
  • Flexiblity under the hood: The source for the conjugations can be swapped. Also, errors in specific verbs/tenses can be patched.

Screenshots

Filters for customizing lesson

filters

See past questions

history

Metrics for optimizing learning

metrics

Project Structure

  • backend/ — FastAPI app (Python)
  • frontend/ — React app (with Tailwind)
  • README.md — Setup and deployment instructions

Features

  • Health check endpoint in FastAPI
  • React UI with API integration demo
  • Postgres database (local and AWS RDS)
  • Easy local dev and AWS deployment (Elastic Beanstalk or EC2)

FastAPI + React + Postgres Template (All-in-One, AWS-Ready)

Local Development

1. Backend (FastAPI)

  • Install Python 3.9+
  • cd backend
  • Create a virtualenv: python3 -m venv venv && source venv/bin/activate
  • Install dependencies: pip install -r requirements.txt
  • Copy .env.example to .env and set DB connection
  • Run: uvicorn main:app --reload

2. Frontend (React)

  • Install Node.js 18+
  • cd frontend
  • npm install
  • npm start

3. Database (Postgres)

  • Install Postgres locally, or use Docker
  • Update DB connection string in backend .env

AWS Deployment (Elastic Beanstalk)

  1. Create a Postgres DB on AWS RDS.
  2. Set up an Elastic Beanstalk Python environment.
  3. Build React app: cd frontend && npm run build
  4. Copy frontend/build to backend/static (or similar).
  5. Zip backend folder (with static files) and deploy to Elastic Beanstalk.
  6. Set environment variables (DB connection, etc) in Elastic Beanstalk console.

Health Check

  • FastAPI: /health endpoint returns status.
  • React: UI page shows API health status.

Next Steps

  • See backend/README.md and frontend/README.md for more details.

About

Spanish conjugation flashcard app revisited. Testing ground for developing full-stack apps with help of Cursor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors