Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/traves-theberge/migmaq_foundation
This project aims to provide educational resources and tools for learning and preserving the Mi'gmaq language
https://github.com/traves-theberge/migmaq_foundation
dictionary language mi-gmaq micmac migmaq open-source
Last synced: about 2 months ago
JSON representation
This project aims to provide educational resources and tools for learning and preserving the Mi'gmaq language
- Host: GitHub
- URL: https://github.com/traves-theberge/migmaq_foundation
- Owner: Traves-Theberge
- License: mit
- Created: 2024-06-18T07:08:37.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-24T11:34:43.000Z (6 months ago)
- Last Synced: 2024-07-25T12:48:33.823Z (6 months ago)
- Topics: dictionary, language, mi-gmaq, micmac, migmaq, open-source
- Language: JavaScript
- Homepage: https://migmaq-foundation.vercel.app
- Size: 33.3 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Mi'gmaq Foundation
- Welcome to the Mi'gmaq Foundation repository. This project aims to provide educational resources and tools for learning and preserving the Mi'gmaq language.
## Table of Contents
- [API Endpoints](#api-endpoints)
- [Client-side Code](#client-side-code)
- [Server-side Code](#server-side-code)
- [Project Structure](#project-structure)
- [Contributing](#contributing)
- [License](#license)## API Endpoints
### Dictionary Routes
- `GET /api/dictionary` - Retrieve the entire dictionary.
- `GET /api/word-details?word={word}` - Retrieve details for a specific word.### Word of the Day Routes
- `GET /api/word-of-the-day` - Retrieve the word of the day.
- `PUT /api/word-of-the-day/update` - Update the word of the day.### AI Routes
- `GET /api/fact?word={word}` - Retrieve an AI-generated fact about a word.
### Comments Routes
- `GET /api/comments?word_id={word_id}` - Retrieve comments for a specific word.
- `POST /api/comments` - Add a new comment.## Client-side Code
### `client/js/index.js`
Placeholder for index-specific JavaScript if needed.
### `client/js/wordOfTheDay.js`
- Fetches and displays the word of the day.
### `client/js/dictionary.js`
- Handles dictionary search and filtering.
- Fetches and displays dictionary data.
- Implements pagination for dictionary entries.### `client/js/word-details.js`
- Fetches and displays details for a specific word.
- Fetches and displays comments for a word.
- Handles adding new comments and replies.## Server-side Code
### `server/app.js`
- Sets up the Express application, middleware, and routes.
### `server/server.js`
- Starts the server on the specified port.
### `server/config/database.js`
- Configures and exports the Supabase client for database interactions.
### `server/config/openai.js`
- Configures and exports the OpenAI client for AI interactions.
## Controllers
- `dictionaryController.js` - Handles dictionary-related API requests.
- `wordOfTheDayController.js` - Handles word of the day API requests.
- `aiController.js` - Handles AI-related API requests.
- `commentsController.js` - Handles comment-related API requests.
- `games/gamesController.js` - Handles game-related API requests.
- `lessons/lessonsController.js` - Handles lesson-related API requests.
- `resources/resourcesController.js` - Handles resource-related API requests.## Services
- `dictionaryService.js` - Provides dictionary data operations.
- `wordOfTheDayService.js` - Provides word of the day data operations.
- `aiService.js` - Provides AI-related operations.
- `commentsService.js` - Provides comment-related operations.
- `games/gamesService.js` - Provides game-related operations.
- `lessons/lessonsService.js` - Provides lesson-related operations.
- `resources/resourcesService.js` - Provides resource-related operations.## Project Structure
```
Mi'gmaq Foundation
├── .env.sample
├── .gitignore
├── LICENSE.md
├── README.md
├── package-lock.json
├── package.json
├── tailwind.config.js
├── vercel.json
├── client
│ ├── css
│ │ ├── input.css
│ │ ├── output.css
│ ├── js
│ │ ├── index.js
│ │ ├── wordOfTheDay.js
│ │ ├── dictionary.js
│ │ ├── word-details.js
│ │ ├── utils
│ │ │ ├── theme-toggle.js
│ │ ├── games
│ │ │ ├── flashcard.js
│ │ ├── lessons
│ │ │ ├── lesson1.js
│ │ ├── resources
│ │ │ ├── resource1.js
│ │ ├── documentation.js
│ ├── pages
│ │ ├── index.html
│ │ ├── education.html
│ │ ├── dictionary.html
│ │ ├── word-details.html
│ │ ├── games
│ │ │ ├── flashcard.html
│ │ ├── lessons
│ │ │ ├── lesson1.html
│ │ ├── resources
│ │ │ ├── resource1.html
│ │ ├── documentation.html
│ ├── assets
│ │ ├── dictionary.json
│ │ ├── documentation.json
├── server
│ ├── config
│ │ ├── database.js
│ │ ├── openai.js
│ ├── controllers
│ │ ├── dictionaryController.js
│ │ ├── wordOfTheDayController.js
│ │ ├── aiController.js
│ │ ├── commentsController.js
│ │ ├── games
│ │ │ ├── gamesController.js
│ │ ├── lessons
│ │ │ ├── lessonsController.js
│ │ ├── resources
│ │ ├── resourcesController.js
│ ├── routes
│ │ ├── dictionaryRoutes.js
│ │ ├── wordOfTheDayRoutes.js
│ │ ├── aiRoutes.js
│ │ ├── commentsRoutes.js
│ │ ├── games
│ │ │ ├── gamesRoutes.js
│ │ ├── lessons
│ │ │ ├── lessonsRoutes.js
│ │ ├── resources
│ │ ├── resourcesRoutes.js
│ ├── services
│ │ ├── dictionaryService.js
│ │ ├── wordOfTheDayService.js
│ │ ├── aiService.js
│ │ ├── commentsService.js
│ │ ├── games
│ │ │ ├── gamesService.js
│ │ ├── lessons
│ │ │ ├── lessonsService.js
│ │ ├── resources
│ │ ├── resourcesService.js
│ ├── app.js
│ ├── server.js
├── .env```
## Contributing
If you would like to contribute, please fork the repository and submit a pull request. For major changes, please open an issue to discuss what you would like to change.
## License
This project is licensed under the MIT License. See the [LICENSE.md](LICENSE.md) file for details.