Syntax Map – Digital English Tense Learning Platform**
Syntax Map is an interactive web application designed to digitalize English tense learning for French classrooms. It replaces traditional grammar books with a modern, engaging experience that includes a Tense Map, quizzes, notepad, and multiplayer features.
Features**
-
Tense Map Visualization: Interactive diagram to understand English tenses.
-
Notepad: Students can take notes and track mistakes.
-
Question Bank: Admin/teachers can add and manage questions.
-
Admin Panel: Manage courses, items, and questions.
-
Multiplayer Mode: (Upcoming) Real-time quiz competition like Kahoot.
-
Role-based Access:
- Admin – Full control over content and users.
- Teacher – Create classes, assign homework, track students.
- Student – Access lessons, take quizzes, join multiplayer.
-
Guest Mode: Public users can try features without signing up (coming soon).
Tech Stack**
- Frontend: React (Create React App)
- Backend: Node.js (Express), Colyseus (for multiplayer)
- Database: Supabase (PostgreSQL)
- Authentication: JWT
- Deployment: Vercel (Frontend) + Render/Heroku (Backend)
Project Structure**
SyntaxMap/
│
├── SyntaxMap-Front-main 2/ # React Frontend
│ ├── src/
│ ├── package.json
│ ├── .env.example
│
└── SyntaxMap-Back-main 2/ # Node.js Backend
├── routes/
├── app.js
├── package.json
├── .env.example
Getting Started**
- Prerequisites**
- Node.js (v18+ recommended)
- npm or yarn
- Supabase account (for database)
- Clone the Repository**
git clone <your-repo-url>
cd SyntaxMap- Set Up Environment Variables**
Create .env files for both frontend and backend based on .env.example.
Frontend .env**
REACT_APP_API_BASE_URL=http://localhost:3000
SUPABASE_URL=https://<your-supabase-url>
SUPABASE_ANON_KEY=<your-anon-key>
Backend .env**
PORT=3000
SUPABASE_URL=https://<your-supabase-url>
SUPABASE_SERVICE_ROLE_KEY=<your-service-role-key>
JWT_SECRET=your-secret
- Install Dependencies**
Frontend
cd "SyntaxMap-Front-main 2"
npm installBackend
cd "../SyntaxMap-Back-main 2"
npm install- Run the App**
Backend
cd "SyntaxMap-Back-main 2"
npm startFrontend
In a new terminal:
cd "SyntaxMap-Front-main 2"
npm start- Frontend will run on:
http://localhost:3001 - Backend will run on:
http://localhost:3000
6. Login Credentials (Test Account)
Admin:
Email: admin@test.com
Password: 1234
Database Setup (Supabase)
-
Create a new Supabase project.
-
Create the following tables:
users(id, name, email, role)questions(id, question, options, answer)courses(id, title, description)notes,classes, etc.
-
Enable Row Level Security and policies for roles.
-
Insert sample data (see
sample-data.sqlif provided).
Roadmap
- Tense Map
- Notepad
- Question Management
- Guest Mode
- Teacher & Student Dashboards
- Multiplayer Quiz Game
- Mobile Optimization
License
MIT License © 2025 Linguistic Communication