Welcome to GitLife, the app that proves version control can be as chaotic and unpredictable as your life! Forget the boring Git tutorials; we’re here to turn your life decisions into a version control system. Because who doesn’t want to commit their choices like they’re pushing code?
Welcome to GitLife! Here, you can interact with your life decisions just like you would with your Git repositories—without needing to understand anything about Git! Commit your choices, create new branches for those “what if” scenarios, and visualize your life timeline as a graph. It's like living your life with a commit history, because who needs spontaneity?
- Multi-User Support: Create your own account and keep your existential crises private!
- Secure Authentication: JWT-based login system—because your life decisions deserve encryption.
- Decision Commits: Turn every life choice into a commit—because it's easier to track regrets this way!
- Branch Out: Create branches for alternative paths in life, so you can wonder "what if?" without any real commitment.
- Graphical Timeline: Visualize your life as a graph, showing your ups, downs, and existential crises.
- Impact Tracking: Measure the impact of your decisions with a fancy slider (1-100).
- Mood Logging: Track your emotional state with emojis—because words are overrated.
- Private Data: Each user's data is completely isolated—no one else needs to see your chaos.
- User-Friendly Interface: Enjoy navigating through choices with an interface that may or may not make sense.
- Community Shenanigans: Join others who are just as lost as you are, sharing the joys of turning life into code.
Ready to embark on this emotional rollercoaster? Here's how to get started:
- Node.js (v16 or higher)
- MongoDB (local installation or MongoDB Atlas account)
-
Clone the repository:
git clone https://github.com/soorajdmg/GitLife cd GitLife -
Install dependencies:
# Install frontend dependencies npm install # Install backend dependencies cd server npm install cd ..
-
Set up environment variables:
Create
.envfile in root directory:VITE_API_URL=http://localhost:5000/apiCreate
server/.envfile:MONGODB_URI=mongodb://localhost:27017/gitlife PORT=5000 JWT_SECRET=your-super-secret-jwt-key-change-this-in-production -
Start MongoDB:
# On macOS (if installed via homebrew) brew services start mongodb-community # On Windows/Linux mongod
-
Run the application:
Terminal 1 - Start backend:
cd server npm startTerminal 2 - Start frontend:
npm run dev
-
Open the app:
- Visit
http://localhost:5173 - Create an account and start tracking your life decisions!
- If things go wrong, just remember: it's not you; it's the universe.
- Visit
- Frontend: React + Vite + Tailwind CSS
- Backend: Express.js + MongoDB
- Authentication: JWT tokens
- Database: MongoDB
📚 For detailed setup and migration information, see:
- MIGRATION_GUIDE.md - Firebase to MongoDB migration
- AUTHENTICATION_GUIDE.md - Multi-user authentication
Navigate through the app and commit your life decisions with a sense of thrill and potential disaster! Keep your life “alive” while enjoying the weirdness of this experience.
We welcome your contributions, even if they are as chaotic as this project itself. Here’s how to get involved:
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your Changes (
git commit -m 'Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request and try not to laugh too hard at your genius!
Got questions, funny life stories, or want to share your version control mishaps? Reach out to me:
- Email: soorajmurugaraj@gmail.com
- GitHub: soorajdmg






