View Code? Open in Web Editor
NEW
B21-03 Crosslink Timetable
License: MIT License
Java 58.78%
CSS 14.45%
HTML 13.52%
JavaScript 13.25%
innotable's People
Stargazers
innotable's Issues
Cleanup
Remove useless interfaces
Develop login screen
- Email
- Password
- Login button
Develop Event editor (main page)
Develop console UI for editing events
- Event name
- Event description
- Attached files list
- Attached URLs list
- Groups list
- Tags list
Develop event history
Develop console UI for viewing and selecting event history
- Sort by name / date
- Select event for opening it in event editor
REST API for frontend part
- Wrap input data to JSON files and provide REST API for sending them
- Work collaboratively with backend developers who ar working on backend REST API schema
Configure database admins and roles
Add admins and roles
- Developer (Full access)
- Admin (Full access excluding database)
- Table: id, email, password
Setup OAuth2 with SSO and Spring Security
- Learn OAuth2 and SSO technologies
- Learn the basics of Spring Security
- Provide authorization of developers and admins
- Include a basic login screen page without any design
Setup UI/UX design in Figma
- Login page
- Event editor
- Event history list
- App settings
- Context menus
Setup REST API design in Postman
- Getting event data
SLF4J
- Add dependencies, prop file
Lombok
- Add dependencies
Outlook forwarder
Introduce pushing events to Outlook with respect to the EventForwarder intrface
Create local LMS Moodle and design entry interface and parameters for getting API
Introduce more branches
main
backend-testing
frontend-testing
Create a skeleton of the code
- Initialize an empty buildable project running on OpenJDK 18.0.1, Maven 4.0.0 and Springboot
- Configure
pom.xml
: Add JUnit 5.8 and log4j2 dependencies, create an Application class with the main()
method
- Add .gitignore, README.md, and LICENSE files
Setup GitHub repository
- Configure project deployment with Maven in GitHub Actions
- Configure repository security features in GitHub Security
Setup WebServer and DataSource
- Download, and install PostgreSQL 14.3 and the latest JDBC
- Integrate empty data source into the project locally
- Download Apache tomcat 10 and configure it
Groups and tags
Groups:
- Bachelors (BS21...)
- Masters (MS21...)
- Ph. D / TA
- Employee (DoE, 319...)
Admin tags:
- Juridical
- Extracurricular
- Internship / Opportunity
- Campus
- Other
Note that admins must be able to add their tags and groups
Event data classes
Introduce event data classes (LMS event and Admin event)
Admin event:
- Name, description
- Attached files, URLs
- Groups, tags lists
- Importance: Obligatory/Optional (can be introduced using tags)
LMS event:
- Name, description
- Attached files, URLs
- Groups, tags lists
- Tag
Admins and developers mock table
- id, email, password first name, last name
- roles: admin, developer
Develop REST communication with Event history and database
- Learn REST API and Spring Entities
- Learn thymeleaf library
- Develop communication with event history/editor and database
Configure Docker
- Learn how to deploy an application and pack it into Docker image
- Introduce deployment in Github Actions
REST controller
- Combine REST API with DTO classes and write corresponding REST requests
- Provide Unit testing of the controller
Core calendar get calendar events
- Wrap Moodle API and get users' calendar data (core_calendar_get_calendar_events)
- Try to take a data each 15 minutes
- Write Unit tests
Too many useless wrapping
Remove Group and Location classes and use String instead.
Develop Outlook Calendar API wrapper
Develop Outlook Calendar API wrapper using Microsoft Graph API
- Select members by their group / all members
- Access to their private calendars
REST API schema
- Provide diagrams describing what JSON data will be transferred according to our user stories
- Learn what DTO is
- Implement DTO classes
JDBC wrapper
Provide an implementation of the Model using PostgreSQL and JDBC
Update Maven settings
- Make [package] configuration that allows to build a project to .jar file with included dependencies
Communication between mock model and console view
- Develop a controller implementation working with a model and view
- Introduce basic logic of event listening and forwarding to view
Learn and design MVC architecture
- Introduce an updated use-case diagram
- Introduce a UML diagram following MVC principles
Update project skeleton
- Add corresponding packages and interfaces according to the UML diagram
Moodle server
- Runs on VK Cloud
- Add several testing users with testing data, allow API access
- Add some courses, assignments and update their calendars
Groups and tags
Introduce groups and tags
Groups:
- Bachelors (BS21...)
- Masters (MS21...)
- Ph.D. / TA
- Employee (DoE, 319...)
Note that admins must be able to add their own tags and groups
Event data classes
Introduce event data classes (LMS event and Admin event)
Admin event:
- Name, description
- Attached files, URLs
- Groups, tags lists
- Importance: Obligatory/Optional (can be introduced using tags)
LMS event:
- Name, description
- Attached files, URLs
- Groups, tags lists
- Tag
Calendar page
- We have already conducted a meeting related to calendar page and how it will look like. Ask @dmfrpro for details
- Write necessary JS scripts for the calendar