Skip to content

Troshkins/InnoMoodle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InnoMoodle

logo

Moodle but he's stronger, he's smarter.

Deployed Product

Demo Video

About

Project Description:

InnoMoodle is a learning management system designed to replace the university’s current educational portal. Leveraging modern UX/UI principles and responsive design, InnoMoodle will deliver a clean, intuitive interface that streamlines course creation, management, and delivery. By focusing on the needs of both instructors and students, the platform aims to foster engagement, improve usability, and reduce administrative overhead.

Project Objectives:

  1. Seamless Migration: Safely migrate existing courses, user accounts, and content from the legacy system to InnoMoodle with minimal downtime.
  2. Enhanced User Experience
  3. Instructor-Centric Tools
  4. Improved Engagement
  5. Accessibility & Compliance
  6. Scalability & Security
  7. Integration & Extensibility

Project context diagram

Diagram

Roadmap

Roadmap

Usage

Environment Requirements

  • Go >= 1.24.4
  • Docker & Docker Compose >= 1.29
  • PostgreSQL (if running locally) >= 15

Installation Steps

  1. Clone the repository (for all commands from here use bash):

    git clone https://github.com/Troshkins/InnoMoodle.git cd InnoMoodle

  2. Configure environment variables: copy .env.example to .env and fill in:

    dotenv DB_USER=myapp_user DB_PASSWORD=secret123 DB_NAME=myapp_db DB_HOST=db DB_PORT=5432 SERVER_PORT=8080

  3. Initialize the database using (if not using Docker Compose init):

    psql -U myapp_user -d myapp_db -f db/init/init.sql

Running the Application

  • With Docker Compose:

    docker-compose up --build

  • Locally (without Docker):

    1. Start PostgreSQL and create the database and user as above.

    2. In backend/, install dependencies:

      cd backend go mod download

    3. Run the Go server:

      go run main.go

    4. Serve static files by opening index.html in a browser or using a simple HTTP server:

      npx serve static/

Access Credentials

  • No authentication is required for the sample GET /api/hello endpoint.

  • For protected routes, use:

    Username: admin@example.com Password: password123

Architecture

See Architecture

Development

Contributing

Quality Assurance

Quality Attribute Scenarios

See Quality Attribute Scenarios

Automated Tests

See Automated Tests

User Acceptance Tests

See User Acceptance Tests

Build and Deployment

Continuous Integration

See Continious Integration

Licence

Licence

Design "for customer"

The project will continue to be done, so a developed design section is needed to avoid re-work.

Design in Figma

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors