https://github.com/codergautam/vinaa
The best way to learn Tamil
https://github.com/codergautam/vinaa
language language-learning learn-tamil nextjs react tamil tamil-language tamil-learning tamil-web tamilnadu
Last synced: 8 months ago
JSON representation
The best way to learn Tamil
- Host: GitHub
- URL: https://github.com/codergautam/vinaa
- Owner: codergautam
- Created: 2022-12-20T00:16:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-20T22:57:18.000Z (almost 2 years ago)
- Last Synced: 2025-06-27T20:43:00.794Z (11 months ago)
- Topics: language, language-learning, learn-tamil, nextjs, react, tamil, tamil-language, tamil-learning, tamil-web, tamilnadu
- Language: JavaScript
- Homepage: https://vinaa.net
- Size: 380 KB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vinaa
Quiz app built with NextJS, styled-components, and SQLite
### Usage
First, you need to set the necessary environment variables:
+ `GOOGLE_CLIENT_ID` - Google client ID (necessary for auth); find it in the "Credentials" section of the Google Console
+ `GOOGLE_CLIENT_SECRET` - Google client secret
+ `NEXTAUTH_SECRET` - A random string, preferably 16 bytes, used to hash JWTs (handled by the [`next-auth`](https://npmjs.com/package/next-auth) package)
+ `NEXTAUTH_URL` - set this to your project's domain (or you will be redirected incorrectly)
+ `SUBSCRIPTION_KEY` - the subscription key for the Microsoft Speech API (used for tamil audio)
+ `ADMINS` - a JSON array of admin emails (e.g. `["email@example.com']`)
For production:
```shell
npm run build # if project isn't yet built
npm start
```
Development mode:
```shell
npm run dev
```
### Development
There are 6 root directories:
+ `assets` - contains assets that will be imported to React components
+ `components` - this contains reusable components from the project
+ `pages` - a required NextJS directory for file-system routing
+ `public` - assets you wish to be exposed by the server are stored here
+ `server` - this directory contains all the server-side logic for this project
Misc files:
+ `next.config.js` - custom config for the nextjs app
+ `jsconfig.json` - used to configure import aliases (e.g. `import xyz from "@/api/xyz"` instead of `import xyz from "../../api/xyz"`)
This project uses SQLite as the database, and because this project doesn't rely on an API server, you can deploy your entire project just by running only this app!
The code is commented where comments are due, so go ahead! Remix and play around.
### License
MIT
### Credits
This project was written by [@codergautam](https://github.com/codergautam) with special thanks to [@codingjlu](https://replit.com/@codingjlu)