https://github.com/hum2a/flashcards
A modern digital flash cards application that speeds up revision time by 20x
https://github.com/hum2a/flashcards
css expressjs firebase firebase-auth firestore-database html javascript nodejs npm react typescript
Last synced: about 1 month ago
JSON representation
A modern digital flash cards application that speeds up revision time by 20x
- Host: GitHub
- URL: https://github.com/hum2a/flashcards
- Owner: Hum2a
- License: mit
- Created: 2025-04-11T13:07:33.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-04-11T13:49:38.000Z (10 months ago)
- Last Synced: 2025-04-11T20:13:11.787Z (10 months ago)
- Topics: css, expressjs, firebase, firebase-auth, firestore-database, html, javascript, nodejs, npm, react, typescript
- Language: JavaScript
- Homepage: https://flashcards-pj01.onrender.com
- Size: 95.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# ๐ด Flashcards - Study Smarter
[](https://reactjs.org/)
[](https://firebase.google.com/)
[](https://mui.com/)
[](https://www.typescriptlang.org/)
[](https://web.dev/progressive-web-apps/)
[](https://opensource.org/licenses/MIT)
[](http://makeapullrequest.com)
[](https://app.netlify.com/sites/your-site-name/deploys)
## ๐ Table of Contents
- [โจ Features](#-features)
- [๐ Getting Started](#-getting-started)
- [๐ ๏ธ Installation](#%EF%B8%8F-installation)
- [โ๏ธ Configuration](#%EF%B8%8F-configuration)
- [๐ฑ Usage](#-usage)
- [๐งช Testing](#-testing)
- [๐๏ธ Project Structure](#%EF%B8%8F-project-structure)
- [๐ค Contributing](#-contributing)
- [๐ License](#-license)
- [๐ฅ Authors](#-authors)
- [๐ Acknowledgments](#-acknowledgments)
## โจ Features
| Feature | Description |
|---------|-------------|
| ๐จ Modern UI | Beautiful, responsive design with Material-UI |
| ๐ฑ PWA Support | Installable on any device |
| ๐ Real-time Sync | Instant updates across devices |
| ๐ Progress Tracking | Monitor your learning journey |
| ๐ฏ Spaced Repetition | Optimized learning algorithm |
| ๐ Search & Filter | Find cards quickly |
| ๐ Dark Mode | Eye-friendly study sessions |
| ๐ค Import/Export | Share decks with others |
## ๐ Getting Started
### Prerequisites
- Node.js (v14 or higher)
- npm (v6 or higher)
- Git
### ๐ ๏ธ Installation
1. **Clone the repository**
```bash
git clone https://github.com/your-username/flashcards.git
cd flashcards
```
2. **Install dependencies**
```bash
npm install
```
3. **Set up environment variables**
```bash
cp .env.example .env
# Edit .env with your configuration
```
4. **Start the development server**
```bash
npm start
```
## โ๏ธ Configuration
### Environment Variables
Create a `.env` file in the root directory with the following variables:
```env
REACT_APP_API_URL=http://localhost:5000/api
REACT_APP_FIREBASE_API_KEY=your-api-key
# ... (see .env.example for all variables)
```
## ๐ฑ Usage
### Development
```bash
npm start
```
### Production Build
```bash
npm run build
```
### Testing
```bash
npm test
```
## ๐งช Testing
We use Jest and React Testing Library for our tests. Run the test suite with:
```bash
npm test
```
For coverage reports:
```bash
npm run test:coverage
```
## ๐๏ธ Project Structure
```
src/
โโโ components/ # Reusable UI components
โโโ pages/ # Page components
โโโ styles/ # CSS and styling files
โโโ utils/ # Utility functions
โโโ hooks/ # Custom React hooks
โโโ context/ # React context providers
โโโ services/ # API and service integrations
โโโ assets/ # Static assets
```
## ๐ค Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
## ๐ License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
## ๐ฅ Authors
- **Your Name** - *Initial work* - [YourGitHub](https://github.com/your-username)
See also the list of [contributors](https://github.com/your-username/flashcards/contributors) who participated in this project.
## ๐ Acknowledgments
- [Create React App](https://github.com/facebook/create-react-app)
- [Material-UI](https://mui.com/)
- [Firebase](https://firebase.google.com/)
- [React Router](https://reactrouter.com/)
---
[](https://forthebadge.com)
[](https://forthebadge.com)
[](https://forthebadge.com)