Learn BISINDO the fun way.
A gamified platform for learning BISINDO, inspired by Duolingo. Users start by mastering flashcards, then complete levels through interactive visual exercises, and finally test their skills with timed quizzes to climb the leaderboard.
- Frontend: React + Vite
- Backend: Node.js + Express
- Database: PostgreSQL + Prisma ORM
- Containerization: Docker & Docker Compose
- Learn with Flashcards.
- Practice with visual exercises and unlock the next level.
- Community forum for users to share tips and ask questions.
- JWT-based authentication with session management via HTTP-only cookies.
- Node.js (version X or higher)
- Docker & Docker Compose (if using containerization)
- PostgreSQL (if running locally without Docker)
-
Clone the repository:
git clone https://github.com/nathanielalex/linkasa-main.git cd linkasa-main -
Setup environment variables:
Create
.envfiles in both/backendand/frontend(or wherever needed). See the Environment Variables section for details. -
Install dependencies:
Backend:
cd linkasa-backend npm installFrontend:
cd ../linkasa-frontend npm install
-
Start the backend server:
cd linkasa-backend npm run dev -
Start the frontend server:
cd ../linkasa-frontend npm run dev -
Your app should be running on
http://localhost:5173(or whatever port you use).
-
Build and run containers:
docker-compose up --build
-
This will start the backend, frontend, and PostgreSQL containers.
-
Migrate the database schema:
cd linkasa-backend npx prisma migrate dev --name init -
Generate Prisma client:
npx prisma generate
-
docker-compose.ymlis configured to spin up the frontend, backend, and PostgreSQL database. -
Make sure your environment variables for database connection in Docker containers are set properly.
DATABASE_URL=postgresql://user:password@localhost:5432/dbname?schema=public
PORT=4000
JWT_SECRET=your_jwt_secretVITE_API_URL=http://localhost:5000/api
VITE_IMG_URL=http://localhost:5000| Script | Description |
|---|---|
npm run dev |
Start backend in development mode with hot reload |
npm run build |
Build backend for production |
npm start |
Run production server |
npm run seed |
Seed database |
| Script | Description |
|---|---|
npm run dev |
Start frontend in development mode (Vite) |
npm run build |
Build frontend for production |
npm run preview |
Preview production build locally |
Milestones Page
Exercise Page
Flashcards Page
Forum Page
Progress Page




