Skip to content

feat(documentation): add development documentation regarding porting … #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# DEVELOPMENT GUIDE

## Proxy Project

The proxy server queries the existing BCT database and manipulates that data to fit into Epochtalk's data models. The backend serves that manipulated data to the frontend project. This version of the project is for a read only mobile deployment of BCT.

### Continued Development

* Prequisites
* SSH tunnel to BCT database from localhost if developing locally, this is required to make the proxy queries work
* Checkout each of the three projects and switch to the branch in parentheses
* `epochtalk/epochtalk` (ui-refactor-2020)
* There should be no modifications made to this project, it is just running to stop the frontend from breaking when hitting api routes which have not been ported to the new `epochtalk-server` yet
* `epochtalk/epochtalk-vue` (proxy)
* Changes can be made here when proxy BCT data doesn't quite fit into the current model design scheme of Epochtalk
* `slickage/epochtalk-server` (main)
* This should only be modified if there is an issue with existing proxied routes, or if there is a requirement to proxy more BCT data for the mobile read only site
* Key Files
* `lib/epochtalk_server/smf_query.ex` - used to proxy SMF data into Epochtalk format
* `lib/epochtalk_server_web/controller/*.ex` - to override a standard route with data queried from the proxy, the controller must be modified. See existing examples of using the plug `:check_proxy` the `post.ex` controller is a good example of this.
* `lib/epochtalk_server/bbc_parser.ex` - used to turn the bbcode parser into genserver process which can be deployed as a pool via `poolboy`
* `parsing.php` - bbcode parser
* `parsing_extra.php` - additional settings and functions required to run bbcode parser

## Main Project

The main project was initially written in Node/Angular an is in the process of being ported to Vue JS (Frontend) and Elixir (Backend).

### Continued Development

* Checkout each of the three projects and switch to the branch in parentheses
* `epochtalk/epochtalk` (ui-refactor-2020)
* There should be no modifications made to this project, it is just running to stop the frontend from breaking when hitting api routes which have not been ported to the new `epochtalk-server` yet.
* `epochtalk/epochtalk-vue` (main)
* Frontend changes should be made here. When new routes are ported to the new elixir server, the front end api/views must be updated as well.
* See `PortRoadMap.md` within this project to view a list of remaining views to be ported.
* `epochtalk/epochtalk-server` (main)
* See `PortRoadmap.md` within the `epochtalk-server` project for a list of which models and features have been ported.
43 changes: 43 additions & 0 deletions PortRoadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Port Roadmap

This document is used to track progress of porting views from the original node/angular `epochtalk/epochtalk` project to the new elixir/vue `epochtalk/epochtalk-vue`

## Non Authenticated View Port Progress
| View Name | Completed? |
| --------- | ---------- |
| Boards | :white_check_mark: |
| Threads | :white_check_mark: |
| Posts | :white_check_mark: |
| Profile | :white_check_mark: |
| About | :x: |

## Public Authenticated View Port Progress
| View Name | Completed? |
| --------- | ---------- |
| Boards | :white_check_mark: |
| Threads | :white_check_mark: |
| Posts | :white_check_mark: |
| Profile | :white_check_mark: |
| WatchList | :construction_worker: |
| Messages | :construction_worker: |
| Trust | :white_check_mark: |
| Trust Settings | :white_check_mark: |
| Settings | :white_check_mark: |
| Invite User | :white_check_mark: |

## Administrative Authenticated View Port Progress
| View Name | Completed? |
| --------- | ---------- |
| General Settings | :x: |
| Advanced Settings | :x: |
| Legal Settings | :x: |
| Theme Settings | :x: |
| Board Management | :x: |
| Users Management | :x: |
| Roles Management | :x: |
| Banned Addresses Management | :x: |
| Users Moderation | :x: |
| Posts Moderation | :x: |
| Messages Moderation | :x: |
| Board Bans Moderation | :x: |
| Moderation Logs | :x: |