Skip to content

notsoocool/START

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

187 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

START - Sanskrit Text Analysis and Reading Tool

A modern web application for exploring, analyzing, and learning Sanskrit literature with an interactive interface and comprehensive analysis tools.

START Logo

๐ŸŒŸ Features

Core Functionality

  • ๐Ÿ“š Browse sacred Sanskrit texts and chapters
  • ๐Ÿ” Detailed word-by-word analysis
  • ๐Ÿ“ Interactive shloka reading
  • ๐ŸŽฏ Role-based access control
  • ๐ŸŒ™ Dark mode support
  • ๐Ÿ“ฑ Responsive design

Technical Features

  • โšก Server-side rendering with Next.js 14
  • ๐Ÿ” Secure authentication with Clerk
  • ๐Ÿ“Š MongoDB database integration
  • ๐ŸŽจ Modern UI with Tailwind CSS
  • ๐Ÿš€ Optimized performance
  • ๐ŸŒ API routes for data management

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Next.js 14
  • React with TypeScript
  • Tailwind CSS
  • ShadcnUI Components
  • Clerk Authentication

Backend

  • Next.js API Routes
  • MongoDB with Mongoose
  • TypeScript

Infrastructure

  • Vercel Deployment
  • MongoDB Atlas
  • Clerk Authentication Services

๐Ÿ“ฆ Installation

  1. Clone the repository
git clone https://github.com/yourusername/start.git
cd start
  1. Install dependencies
npm install
# or
yarn install
  1. Set up environment variables Create a .env.local file with:
MONGO_URI=your_mongodb_connection_string
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_key
CLERK_SECRET_KEY=your_clerk_secret
# Optional: for notification cleanup cron. Add in Vercel env vars; Vercel sends it in the Authorization header when invoking the cron.
CRON_SECRET=your_16_char_minimum_secret
  1. Run the development server
npm run dev
# or
yarn dev

๐Ÿ—๏ธ Project Structure

start/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ (dashboard)/
โ”‚   โ”‚   โ”œโ”€โ”€ books/
โ”‚   โ”‚   โ”œโ”€โ”€ admin/
โ”‚   โ”‚   โ”œโ”€โ”€ addshloka/
โ”‚   โ”‚   โ””โ”€โ”€ page.tsx
โ”‚   โ””โ”€โ”€ api/
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ global/
โ”‚   โ”‚   โ”œโ”€โ”€ header.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ footer.tsx
โ”‚   โ”‚   โ””โ”€โ”€ navigation.tsx
โ”‚   โ””โ”€โ”€ ui/
โ”œโ”€โ”€ lib/
โ”‚   โ””โ”€โ”€ db/
โ”‚       โ”œโ”€โ”€ connect.ts
โ”‚       โ”œโ”€โ”€ newShlokaModel.ts
โ”‚       โ”œโ”€โ”€ newAnalysisModel.ts
โ”‚       โ””โ”€โ”€ permissionsModel.ts
โ””โ”€โ”€ public/

๐Ÿ’พ Database Models

Shloka Model

Stores Sanskrit verses with metadata:

  • Chapter and verse numbers
  • Sanskrit text parts
  • Book and section information

Analysis Model

Comprehensive linguistic analysis:

  • Morphological analysis
  • Syntactic relations
  • Word meanings
  • Grammatical details

Permissions Model

User role management:

  • User levels (User to Root)
  • Access control
  • User metadata

๐Ÿ” Authentication & Authorization

User Roles

  1. User: Basic reading access
  2. Annotator: Can add annotations
  3. Editor: Content modification rights
  4. Admin: Administrative access
  5. Root: Full system access

Permission Management

  • Role-based access control
  • Secure API endpoints
  • Protected routes
  • Admin dashboard

๐ŸŽจ UI Components

Global Components

  • Header with navigation
  • Footer with links
  • Responsive navigation menu
  • User authentication UI

Feature Components

  • Shloka display cards
  • Analysis viewer
  • Admin dashboard
  • Upload interface

๐Ÿ“ก API Routes

Shloka Management

  • /api/books/[book]/[part1]/[part2]/[chaptno]
  • /api/ahShloka/[id]
  • /api/uploadJson

User Management

  • /api/getCurrentUser
  • /api/getAllUsers
  • /api/updateUser

๐Ÿ”ง Configuration

Development

# Install dependencies
npm install

# Run development server
npm run dev

# Build application
npm run build

Production

# Build for production
npm run build

# Start production server
npm start

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE.md file for details.

๐Ÿ‘ฅ Team

๐Ÿ™ Acknowledgments

  • Sanskrit scholars and contributors
  • Open source community
  • Framework and library maintainers

๐Ÿ“š Documentation

For detailed documentation:

๐Ÿ”ฎ Future Plans

  • Enhanced analysis features
  • Mobile application
  • Additional Sanskrit texts
  • Community features
  • Advanced search capabilities

About

๐Ÿ“š Sanskrit Text Analysis & Reading Tool โ€” interactive e-reader with ๐Ÿ”ค word-level morphological analysis, ๐Ÿ” role-based access, and ๐Ÿ—„๏ธ MongoDB-backed content. โšก Next.js ยท ๐Ÿงฉ TypeScript ยท ๐ŸŽจ Tailwind

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages