LearnedUp is a full-stack learning platform with a Node.js/Express backend and a Vite + React frontend.
backend/- API server, authentication, AI, history, and transcript routesFrontend/- React application built with Vite
- Node.js 18 or newer
- npm
- MongoDB connection string
- Google AI API key
git clone <your-repo-url>
cd LearnedUpcd backend
npm installcd ../Frontend
npm installCreate a local environment file in backend/ based on backend/example.env.
Example:
PORT=4500
NODE_ENV=development
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
FRONTEND_URL=http://localhost:5173
GEMANI_API_KEY=your_google_ai_keyImportant:
- Do not commit
backend/.env - Use
backend/example.envas the template - Keep secrets local only
cd backend
npm run devThe backend runs on http://localhost:4500 by default from the example env file, or on the port set in PORT.
cd Frontend
npm run devThe frontend runs on http://localhost:5173 by default.
npm run start- start the servernpm run dev- start the server with nodemon
npm run dev- start the Vite development servernpm run build- create a production buildnpm run lint- run ESLintnpm run test- run tests with Vitestnpm run preview- preview the production build
- Fork the repository on GitHub.
- Clone your fork locally.
- Create a new branch for your change.
- Make your changes and test them.
- Commit and push the branch to your fork.
- Open a pull request to the main repository.
git checkout -b feature/your-feature
git add .
git commit -m "Describe your change"
git push origin feature/your-feature- Open the repository on GitHub
- Click Fork to create your own copy
After making changes locally, push them to your fork:
git push origin your-branch-nameThere are two common ways to merge changes:
- Push your branch to your fork
- Open a pull request from your branch into the main repository
- After review, the maintainer merges it
If you are combining branches on your own machine:
git checkout main
git pull origin main
git merge your-branch-nameIf you are working from a fork, you may also need to add the original repository as an upstream remote:
git remote add upstream <original-repo-url>
git fetch upstream
git merge upstream/main- Keep API keys and database credentials out of version control
- Check
backend/example.envbefore starting the server - If the frontend cannot reach the backend, confirm
FRONTEND_URLandPORTmatch your local setup