DStrA is a structured and comprehensive web application designed for third-semester diploma students of Computer Engineering under Gujarat Technological University (GTU). It focuses on the subject Data Structures (DI03000021), offering a complete learning platform including explanations, code examples, visualizations, and interactive coding.
There are many DSA tools available online, but none are made specially for diploma students. At the diploma level, DSA is taught in a very simple way, and using big tools can feel confusing or too advanced. DStrA was made to fill this gap by giving diploma students an easy and clear platform to learn DSA with examples, visuals, and practice.
- Learn Mode: Step-by-step DSA topics with GTU syllabus alignment
- Theory Module: Read theories, visualize and get video links chapter wise
- Visualizations: Graphs, Trees, Sorting animations
- Online IDE: In-browser Judge0-powered compiler
- Code library: Download or Run online pre-made codes
- Auth System: Google & OTP-based authentication
- Admin Panel: Upload new lessons, quizzes, and programs
- Next.js 13+
- TypeScript
- Tailwind CSS
- React
- MongoDB @Atlas
- Node.js
- Nodemailer
- Markdown Rendering
- Judge0 API
- GoogleAuth & NextAuth
- Nodemailer
- React Hooks
public/ # Static assets
src/
├── app/ # Application pages & API routes (learn, library, programs, admin)
├── components/ # Reusable React components
├── lib/ # Utility functions (auth, DB, tracking)
├── models/ # Type definitions and interfaces
├── types/ # Custom types and declarations
├── utils/ # Helper functions (OTP, email)
- Node.js >= 18.x
- npm or yarn
- MongoDB or your preferred DB (if applicable)
- Clone the repository:
git clone https://github.com/tanmay-mevada/DStrA.git
cd DStrA- Install dependencies:
npm install
# or
yarn install- Create
.env.localfile with your own credentials :
MONGO_URI = ************
GOOGLE_CLIENT_ID = ************
GOOGLE_CLIENT_SECRET = ************
NEXTAUTH_SECRET = ************
NEXT_PUBLIC_JUDGE0_API_KEY = ************
API_BASE_URL = ************
NEXT_PUBLIC_API_BASE_URL = ************
NEXTAUTH_URL = ************
EMAIL_USER = ************
EMAIL_PASS = ************
NEXT_PUBLIC_BASE_URL = ************- Run the development server:
npm run dev
# or
yarn devVisit http://localhost:3000 in your browser.
dev- Run the app in development modebuild- Build for productionstart- Start production serverlint- Run ESLint
- Fork the repository
- Create a new branch (
git checkout -b feature-name) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature-name) - Open a pull request
- MCQs Tests Module
- Add offline mode using PWA
- Add problem submission & evaluation logic
- Mobile app version (React Native)
- Integration of AI-based code assistant
This project is licensed under the MIT License.