Skip to content

Repository files navigation

🏆 TypeCup

TypeCup is an open-source typing speed game and web application designed to help users improve their typing skills in a competitive, fun, and interactive environment.

🌐 Live Demo: http://typecup.ir
📦 Repository: https://github.com/Ari23yan/typecup-app


✨ Key Features

  • Real-time Typing Race – Measure WPM (Words Per Minute) and accuracy instantly.
  • 🎨 Modern UI/UX – Clean, responsive interface built with React.
  • 🛠️ Full-Stack Architecture – Backend with Express.js and frontend with React + Vite.
  • 🔓 Open Source – Anyone can contribute, fork, and improve the project.
  • 📊 Performance Metrics – Track typing speed and progress.

🧱 Tech Stack

Role Technology
Frontend React, Vite, JavaScript
Backend API Node.js, Express.js
Development ESLint, npm, Git
Environment .env configuration

📂 Project Structure

typecup-app/

├── backend/ # Express.js server and API routes

├── src/ # React frontend source code

│ ├── components/ # Reusable UI components

│ ├── pages/ # Page-level components

│ ├── styles/ # CSS modules or global styles

│ └── utils/ # Helper functions

├── public/ # Static assets (images, favicon, etc.)

├── .env # Environment variables (not committed)

├── .gitignore # Git ignored files

├── eslint.config.js # ESLint configuration

├── index.html # Main HTML entry

├── package.json # Dependencies and scripts

├── vite.config.js # Vite configuration

└── README.md # Project documentation


🚀 Getting Started (Local Development)

Follow these steps to run the project locally.

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/typecup-app.git
cd typecup-app

2. Install dependencies

npm install

3. Configure environment variables

Create a .env file in the root directory:

VITE_API_URL=http://localhost:5000
PORT=5000

4. Run the development server

npm run dev

By default the app will be available at: http://localhost:5173

🤝 Contributing Contributions, issues, and feature requests are welcome.

How to contribute Fork the repository.

Create a new branch:

git checkout -b feature/amazing-feature

Commit your changes:

git commit -m "Add some amazing feature"

Push to the branch:

git push origin feature/amazing-feature

You are free to use, modify, and distribute it with proper credit.

🙏 Acknowledgements Inspired by classic typing games and the open-source community.

📬 Contact If you have questions or suggestions, open an issue on GitHub.

Built with ❤️ using React, Node.js, Express, and Vite.

Happy Typing! 🎯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages