It's a language learning application built on the MERN stack. The frontend is hosted on vercel and the backend is hosted on the railway.
Live Deployment Link🚀: http://lexi-go.vercel.app/
git clone <this_url>
- install npm on client and server
cd client
npm install
cd server
npm install
- Configure Server🔒
- Create
.env
file inserver
- Update
.env
file withMONGODB_URL=<YOUR MONGODB URL>
- Update
.env
file withNODE_ENV=development
and change this to production while deploying env variables. - Update
.env
file withPORT=8000
- Update the API endpoint in the
index.js
incors
tohttp://localhost:5173
- Create
- Configure Client🧑💻
- Create
.env
file inclient
- Update
.env
file withVITE_REACT_APP_FIREBASE_API_KEY=<YOUR FIREBASE API KEY>
- Update
.env
file withVITE_REACT_APP_API_ENDPOINT=http://localhost:8000/api
- Create
- Running the application in development mode
- Development Mode (Client only):
cd client
thennpm run dev
and then openhttp://localhost:5173
in a browser - Development Mode (Server only):
cd server
thennpm run dev
- Development Mode (Client only):
-
You can learn multiple languages.
-
Progress of each language will be stored separately.
-
Leaderboard of every language.
-
You can change your language whenever you want without losing the progress of your previous languages.
-
Mobile responsive.
-
Dynamic questions. The difficulty of your next question will depend upon your answer to the previous one.
-
You can reset your current and previously selected language's progress.
This is not it, I wanted to add more things but due to time constraints couldn't. I have added functionality for admin privileges but haven't designed the UI and API for it.
- Admin portal to create, delete, and edit questions, and add more languages.
- A global leaderboard irrespective of the language.
- UI improvements
- ReactJS⚛️
- TailwindCSS🙌
- Firebase: For user authentication🔐
- NodeJS🍃
- ExpressJS🚅
- Mongoose🙈
- MongoDB🍀