From 738c057b16141e25f1ca3340505401525a2b32d5 Mon Sep 17 00:00:00 2001 From: Bishwajeet Sahoo Date: Sun, 4 May 2025 22:33:25 +0530 Subject: [PATCH] Update README.md --- README.md | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 142 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f913a9..da3baf9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,142 @@ -# langsuit -An easy way to become a Polyglot +# LangSuit 🌍 + +An easy way to become a Polyglot - A modern language learning platform built with Next.js. + +## Features + +- 🎯 Interactive language learning exercises +- 📊 Real-time progress tracking +- 🏆 Leaderboard and achievements system +- 🎓 Multiple language courses +- 💻 Instructor dashboard +- 📱 Mobile-responsive design +- 🔄 Real-time analytics + +## Tech Stack + +- Next.js 14 with App Router +- TypeScript +- Drizzle ORM with PostgreSQL +- Redis Caching +- TailwindCSS +- Clerk Authentication +- React Admin Dashboard +- Recharts for Analytics +- Jest for Testing + +## Prerequisites + +- Node.js 18+ +- PostgreSQL +- Redis (optional, for caching) + +## Getting Started + +1. Clone the repository: + +```bash +git clone https://github.com/codegasms/langsuit.git +cd langsuit +``` + +2. Install dependencies: + +```bash +npm install +``` + +3. Set up environment variables: + +```bash +cp .env.example .env +``` + +4. Update the .env file with your credentials: + +```env +DATABASE_URL=your_postgres_url +REDIS_URL=your_redis_url +CLERK_SECRET_KEY=your_clerk_key +. +. +. +``` + +5. Run database migrations: + +```bash +npm run db:push +``` + +6. Seed the database: + +```bash +npm run db:seed +``` + +7. Start the development server: + +```bash +npm run dev +``` + +Open [http://localhost:3000](http://localhost:3000) to see the application. + +## Available Scripts + +- `npm run dev` - Start development server +- `npm run build` - Build for production +- `npm run start` - Start production server +- `npm run lint` - Run ESLint +- `npm run format` - Format code with Prettier +- `npm run test` - Run tests +- `npm run test:coverage` - Run tests with coverage +- `npm run db:studio` - Open Drizzle Studio +- `npm run db:push` - Push database changes +- `npm run db:seed` - Seed the database + +## Testing + +The project uses Jest for testing. Run the test suite with: + +```bash +npm run test +``` + +For coverage report: + +```bash +npm run test:coverage +``` + +Check [package.json](package.json) for more scripts. + +## Project Structure + +``` +langsuit/ +├── app/ # Next.js app directory +│ ├── (dashboard)/ # Dashboard routes +│ ├── (home)/ # Public routes +│ └── api/ # API routes +├── components/ # Reusable components +├── db/ # Database configuration +├── lib/ # Utility functions +├── public/ # Static assets +└── tests/ # Test files +``` + +## Contributing + +1. Fork the repository +2. Create a new branch +3. Make your changes +4. Submit a pull request + +## License + +This project is licensed under the MIT License. + +## Support + +For support, email bishwajeet.s22@iiits.in, parth.v22@iiits.in or akshat.m22@iiits.in. Otherwise open an issue in the repository.