Created Developers Guide (markdown)
parent
2378c55eb7
commit
9c1e359af9
60
Developers-Guide.md
Normal file
60
Developers-Guide.md
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
### Architecture
|
||||||
|
|
||||||
|
### Frontend
|
||||||
|
|
||||||
|
|
||||||
|
#### Directory structure
|
||||||
|
|
||||||
|
All code for the frontend can be found in the **frontend** directory.
|
||||||
|
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
App/ # folders other than shared that are directly underneath `src` are for top level modules
|
||||||
|
index.tsx # top level modules contain the both components from `shared/components` and the apollo-graphql queries
|
||||||
|
shared/ # code that is shared between top level modules
|
||||||
|
components/
|
||||||
|
Button/
|
||||||
|
index.tsx # contains component code
|
||||||
|
Styles.ts # contains styled component declarations
|
||||||
|
graphql/ # contains graphql queries and mutations that are converted to typed code through `yarn generate`
|
||||||
|
constants/ # const variables that are used in many places
|
||||||
|
icons/ # SVG icons - all icons use a base `Icon` and are exported through the index.ts file
|
||||||
|
utils/ # for random helpers
|
||||||
|
accessToken.ts # tools for interacting with accessToken (the token is stored in a global variable in this file
|
||||||
|
cache.ts # contains helper method for interacting with apollo cache
|
||||||
|
draggables.ts # contains helper methods for interacting with draggables & droppables (react-beautiful-dnd)
|
||||||
|
sorting.ts # the business logic for sorting tasks
|
||||||
|
styles.ts # helper mixins and variables for styling components
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Backend
|
||||||
|
|
||||||
|
#### Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
cmd/
|
||||||
|
taskcafe/
|
||||||
|
main.go # entry point for taskcafe - calls commands.Execute()
|
||||||
|
frontend/ # the React frontend code lives here
|
||||||
|
internal/ # all business logic lives here
|
||||||
|
auth/ # code for interacting with access & refresh tokens
|
||||||
|
commands/ # the available sub-commands taskcafe exposes
|
||||||
|
commands.go # entry point that sets up the other commands
|
||||||
|
db/ # database code generated by sqlc
|
||||||
|
query/ # sql query files that are converted to go code by sqlc
|
||||||
|
frontend/ # contains the generated frontend filesystem
|
||||||
|
graph/ # graphql resolvers
|
||||||
|
schema/ # contains the graphql schema declarations (which gets converted into a single schema file called schema.graphls by mage
|
||||||
|
schema.resolver.go # contains the actual logic for all resolvers
|
||||||
|
graph.go # contains the hasRole directory logic
|
||||||
|
logger/ # contains custom loggers
|
||||||
|
migrations/ # contains the generated migrations filesystem
|
||||||
|
route/ # contains the routes for the API
|
||||||
|
auth.go # contains the auth related routes (login, refresh, etc)
|
||||||
|
avatar.go # contains the frontend serving code & user avatar routes
|
||||||
|
middleware.go # contains the authentication middleware
|
||||||
|
route.go # builds all of the routes
|
||||||
|
migrations/ # a directory of database schema migrations
|
||||||
|
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user