fix/add tests, update heatmap range, finish android release, add readme
Stop tracking gradle.properties
This commit is contained in:
99
README.md
99
README.md
@@ -0,0 +1,99 @@
|
||||
# ZenKanji
|
||||
|
||||
ZenKanji is a web and mobile application designed to help users learn and review Japanese Kanji effectively. It provides a modern and intuitive interface for studying, tracking progress, and staying motivated on your language-learning journey.
|
||||
|
||||
## Project Structure
|
||||
|
||||
This project is a monorepo containing two main packages:
|
||||
|
||||
- `client/`: A Vue.js 3 application built with Vite that serves as the frontend. It is also configured with Capacitor to allow for native mobile builds.
|
||||
- `server/`: A Node.js and Express application that provides the backend API for user authentication, data synchronization, and study progression.
|
||||
|
||||
## Getting Started
|
||||
|
||||
To get the application running locally, you will need to set up both the `client` and the `server`.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- [Node.js](https://nodejs.org/) (v18 or higher recommended)
|
||||
- [npm](https://www.npmjs.com/)
|
||||
- [Docker](https://www.docker.com/) (for running a local database)
|
||||
|
||||
### Server Setup
|
||||
|
||||
1. **Navigate to the server directory:**
|
||||
|
||||
```bash
|
||||
cd server
|
||||
```
|
||||
|
||||
2. **Install dependencies:**
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **Set up environment variables:**
|
||||
Create a `.env` file in the `server/` directory and configure your database connection and any other required variables.
|
||||
|
||||
4. **Start the development server:**
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The server should now be running on the port specified in your configuration (e.g., `http://localhost:3000`).
|
||||
|
||||
### Client Setup
|
||||
|
||||
1. **Navigate to the client directory:**
|
||||
|
||||
```bash
|
||||
cd client
|
||||
```
|
||||
|
||||
2. **Install dependencies:**
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **Configure environment variables:**
|
||||
Create a `.env` file in the `client/` directory to point to the correct backend API URL.
|
||||
|
||||
```
|
||||
VITE_API_URL=http://localhost:3000/api/v1
|
||||
```
|
||||
|
||||
4. **Run the development server:**
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The application should be accessible at `http://localhost:5173`.
|
||||
|
||||
## Technologies Used
|
||||
|
||||
### Frontend (Client)
|
||||
|
||||
- **Framework**: [Vue.js 3](https://vuejs.org/)
|
||||
- **Build Tool**: [Vite](https://vitejs.dev/)
|
||||
- **Mobile**: [Capacitor](https://capacitorjs.com/)
|
||||
- **Styling**: [Sass](https://sass-lang.com/)
|
||||
- **State Management**: [Pinia](https://pinia.vuejs.org/)
|
||||
- **Internationalization**: [Vue I18n](https://vue-i18n.intlify.dev/)
|
||||
|
||||
### Backend (Server)
|
||||
|
||||
- **Framework**: [Express.js](https://expressjs.com/)
|
||||
- **Database**: [MongoDB](https://www.mongodb.com/)
|
||||
- **Authentication**: JWT-based and using your Wanikani API Key for login
|
||||
|
||||
## Features
|
||||
|
||||
- **Kanji Drawing**: Interactive canvas for practicing Kanji writing.
|
||||
- **Spaced Repetition System (SRS)**: Smart review scheduling to optimize learning.
|
||||
- **Progress Tracking**: Dashboard with widgets for accuracy, streaks, mastery, and more.
|
||||
- **Cross-Platform Sync**: Synchronize your study progress across web and mobile devices.
|
||||
- **Collections**: Browse and study Kanji by levels or themes.
|
||||
|
||||
Reference in New Issue
Block a user