You are browsing as a guest. Sign up (or log in) to start making projects!

WFC-ards

  • 7 Devlogs
  • 17 Total hours

A PHP language web application with flashcards for learning.

Ship #1

WFC-ards is finished!

Hi everyone, I’ve finished my PHP web application with flashcards for learning. Create folders, add your own flashcards, and study them with an interactive interface.

How to use

Test it:

flashcards.nahida4479.org

Or run it locally with the pre-built Docker image:
docker pull ghcr.io/nahida4479/wfc-ards:latest
docker run -d -p 8000:8000 ghcr.io/nahida4479/wfc-ards:latest

How it works

  1. Create an account (your password is hashed!)
  2. Click “Add flashcards” in the top right corner
  3. Create a folder, then click on the folder name
  4. Add your flashcards (you can delete a flashcard by clicking the trash icon in the “Your flashcards” section)
  5. After saving a flashcard, click I finish to finish adding cards
  6. Click the flashcard panel to flip it, and click “Next” to move to the next one (once you’ve created more than one flashcard)

You can create unlimited folders, and switch between them using the “Your flashcards folder” panel on the left.

Summary

I spent a lot of time on this project since it was my first time working with PHP. My biggest struggle was CSS styling. Good luck with your own projects :)

  • 7 devlogs
  • 17h
Try project → See source code →
Open comments for this post

56m 2s logged

Devlog 7

New

  • Added a “Your flashcards folder” panel on the main page
  • Fully functional flashcard study system (question/answer card with flip animation, folder selection, Next/Previous navigation)
  • Pages now require login to access

Planned

I’m planning to ship my project.

0
0
3
Open comments for this post

2h 31m 43s logged

Devlog 6

New

  • Created a Docker image for the app (PHP + MariaDB in one container)
  • Added a GitHub Actions workflow that builds the Docker image with buildx
  • Added the ability to create and delete flashcards within a folder
  • Added a live preview for the flashcard question and answer while typing
  • Added a “Your flashcards” list showing existing flashcards in the folder

Planned

I’m planning to update the styling of the main page (index.php).

0
0
2
Open comments for this post

1h 26m 40s logged

Devlog 5

New

  • Added a “How to use” section
  • Cleaned up the CSS (reorganized and simplified the code)
  • Created the createflashcard.php file, with a query pulling the selected folder’s name

Challenges

Rebuilt the whole page layout using nested flexbox containers instead of the manual negative margins.

Planned

I’m planning to build the flashcard creation form for the selected folder.

0
0
5
Open comments for this post

2h 12m 38s logged

Devlog 4

New

  • Finished the “Your Folders” GUI
  • Created the “Delete Folder” panel
  • New styling for the create and delete buttons

Challenges

Spent a while debugging why my delete panel wouldn’t stay hidden

Planned

I’m starting work on the flashcard creation panel with a live preview of the flashcard.

0
0
6
Open comments for this post

2h 6m 8s logged

Devlog 3

New

  • Added a flashcard folder system (users can create folders to organize flashcards by subject)
  • Started working on the “Your Folders” GUI
  • Added a new user_id column to the subjects table, linked with a foreign key to users

Planned

I’m planning to finish the folder system.

0
0
7
Open comments for this post

5h 39m 21s logged

Devlog 2

New

  • New users table in the database
  • Login and registration system with password hashing
  • Login and registration website panels
  • Login session system
  • Logout system
  • Mobile device support for login and registration panels
  • Login and registration error handling

Login/Registration System

I built my first login and registration system, based on PHP and a MySQL/MariaDB database. I used the password_hash function for user security. I also added $_SESSION support across the website, so the app remembers which user is logged in between pages. The registration system requires a minimum of 8 characters for the password.

Planned

I’m planning to style the header tag and build the flashcards panel. I also plan to add the ability to export flashcards.

0
0
58
Open comments for this post

2h 15m 1s logged

Devlog 1

New

  • Planned work on the project
  • Created the MySQL database
  • Connected to the MySQL database
  • Created a temporary flashcard design
  • Added flashcard flip animation
  • Created the schema.sql file

Idea

I am planning to create a flashcard web app with support for mobile devices and desktop. I will use the MySQL/MariaDB database for the application. For the backend, I will use the PHP language.

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…