fzuhelper-server

module
v0.0.0-...-b283e90 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2024 License: Apache-2.0

README

fzuhelper-server

Overview

fzuhelper-server is a distributed architecture-based server application for fzuhelper, which has been in use since 2024, serving over 23,000 students from Fuzhou University everyday (Data source and introduction to fzuhelper).

This project focuses on business implementation. To see how we interface with the academic affairs office, you can check out our open-source version at west2-online/jwch.

fzuhelper was launched in 2015, developed from scratch by west2-online and continuously operated, providing students with industrial-grade practice as much as possible on campus and offering robust support for student employment.

Features

  • Cloud-Native: native golang distributed architecture design, based on ByteDance's best practices.
  • High Performance: Supports asynchronous RPC, non-blocking I/O, shared memory communication, and Just-In-Time (JIT) compilation.
  • Scalability: Features a modular, layered structural design, with clear and readable code, reducing development difficulty.
  • DevOps:An abundance of scripts and tools reduce unnecessary manual labor, simplifying usage and deployment.

Project structure

.
├── .golangci.yml              # GolangCI configuration
├── .licenseignore
├── go.mod
├── go.sum
├── LICENSE
├── Makefile                   # some useful commands
├── README.md
├── api                       # gateway
├── cmd                       # microservices entry
├── config                    # configuration files and examples
├── docker                    # Docker build configuration
├── docs
├── hack                      # tools for automating development, building, and deployment tasks
├── idl                       # interface definition
├── internal                  # microservices implementation
├── kitex_gen                 # kitex generated code
└── pkg
    ├── base/                 # common base service
    │   └── client/           # client for corresponding components (redis, mysql e.g.)
    ├── cache/                # cache service
    ├── db/                   # database service
    ├── constants/            # store any consts
    ├── errno/                # custom error
    ├── eshook                # elasticsearch hook
    ├── logger/               # logging system
    ├── tracer/               # for jaeger
    └── utils/                # useful funcs

Quick start and deploy

Due to the script we have written, the process has been greatly simplified. You just need to use the following command to quickly start the environment and run the program in a containerized manner.

please visit: deploy

Architecture

Contributors

If you are interested in joining the maintenance of fzuhelper-server, please contact us on our official website

License

fzuhelper-server is licensed under the Apache 2.0 license. See the LICENSE file for details.

Directories

Path Synopsis
api
mw
rpc
cmd
api
internal
kitex_gen
academic/academicservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
api
api/classroomservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
api/courseservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
api/launchscreenservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
api/paperservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
api/userservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
classroom/classroomservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
common/commonservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
course/courseservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
launch_screen/launchscreenservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
paper/paperservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
template/templateservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
user/userservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
version/versionservice
Code generated by Kitex v0.11.3.
Code generated by Kitex v0.11.3.
pkg
db
errno
This file is designed to define any error code
This file is designed to define any error code

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL