I'm implementing the same exact backend for a todo application in three languages:-
- Go
- Rust
- Typescript
My goal is to find out how the developer experience is when using them and if and why they are best suited for writing backend servers. The backend being implemented has quite a lot going on:-
- It uses Sqlite for storing data
- GET, POST, PUT, DELETE routes
- Implement cookie-based session authentication from scratch in all languages
/todos
- MethodGET
- Lists all Todos
/todos
- MethodPOST
- Create new Todo
/todos/:id
- MethodGET
- Get Todo with given ID
/todos/:id
- MethodPUT
- Update Todo with given ID
/todos/:id
- MethodDELETE
- Delete Todo with given ID
/auth/create
- MethodPOST
- Create new User and login
/auth/login
- MethodPOST
- Login with given email and password
/auth/logout
- MethodPOST
- Logout
/auth/user
- MethodGET
- Returns currently logged in user data