Code Monkey home page Code Monkey logo

seven23_server's Introduction

Hi there πŸ‘‹

My name is SΓ©bastien Barbier, I'm a software engineer based in Zurich Switzerland πŸ‡¨πŸ‡­.

  • πŸ”­ I am building tools like seven23.io and fromedwin.com
  • 🌱 I’m currently learning about trading and the finance market
  • πŸ‘― I’m looking for a community to join and be part of
  • πŸ€” I’m looking for help with design and marketing
  • πŸ’¬ Ask me anything on twitter @SebBarbier
  • πŸ“« How to reach me: sebastienbarbier.com/contact
  • πŸ˜„ Pronouns: He/Him
  • ⚑ Random facts: indie maker πŸ‘·β€β™‚οΈ, playing with photography πŸ“Έ, location indenpendant πŸŒπŸŽ’, like to travel by bike πŸπŸ’¨.

seven23_server's People

Contributors

dependabot[bot] avatar mavhungutrezzy avatar niwo avatar sebastienbarbier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

seven23_server's Issues

Allow SQLite for data storage

Current implementation require a database url to a postgres instance.

There is no reason to force the use of postgres and should allow the use of sqlite for easy and quick setup. Such solution would be convenient for CI/CD.

Create .travis.yml

It is important to create a travis process to check unittests (not existing yet) and if build is not broken (exising thanks to issue #5)

Fix crash settings if debug false

Settings refuse to start if storage is undefined as .lower() of undefined does not exist.

elif not DEBUG or os.environ.get('STORAGE').lower() == 'whitenoise':

Migrate to Django 4.2+

We are currently staying at 4.1.x to maintain compatibility with PostgreSQL 11.
This ticket is about migrating all dependencies to django 4.2+ and solve issues with postgreSQL 11.
Main reason to keep PostgreSQL 11 is to keep using prod db from hosting provider.
Need to migrate prod to unlock this.

Related to #67

Publish docker image

People should be able to install seven23_server from a publicly available image. This will allow easy installation on many system (targeting synology nas)

Unable to create a synceed account

Hello,

I installed the client + server version of the application on my machine.

Once connected to the server, I am prompted to create an account and select a currency. When validating, nothing happens.

Nothing appears in the console on the server side.

Despite everything, these errors appear in console. I guess they have something to do with the server's SECRET_KEY variable but I don't see if it needs to be set on the client.

image

Thank's

Store encrypted data

This feature will mostly be implemented on client side, but we need to provide an API to store blob data.

Add deployment using Docker

One common request is adding support for Docker to facilitate deployment πŸš€. There is no reason not to do it.

Server code currently use the one command deployment concept, which allow easy build and run on cloud plateform. It seams important to keep this as an option to keep current stack.

Current installation process can be find on seven23_server online documentation

Add labels to transactions

Might be a nice add to have free labels to categorises expenses (for example by event).
Those would be different than categories, and represented by a hashtag and a picture.

Run within Docker

Current docker implementation miss some dependencies and does not work out of the box.

This task is about fixing current implementation and improve it so it cover most cases.

  • Fix current implementation
  • Deploy public image to install on front end CI/CD using docker-compose
  • Update documentation with how to use
  • Handle new user on creation with docker image (see #24)

Remote server is hard coded.

We should have the serveur URL as an advanced options on the login page in order to use the frontend with any server.

Docutils version is to high

While trying to install python packages, I had the following error :

ERROR: Cannot install -r requirements.txt (line 3) and docutils==0.16 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested docutils==0.16
    botocore 1.17.16 depends on docutils<0.16 and >=0.10

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

Lowering docutils to 0.15 resolve the error (or maybe upgrading botocore).

Check email syntax on update request

Entry point /api/v1/users/email should check if provided value has an email syntax and return appropriate error message otherwise.
Right now, it seams to accept any string without

grunt build doesn't work.

We need to be able to get the result of grunt serve with grunt build in order to deploy a production server.

Improve self-hosted experience

Making the project easily self-hostable is an important goal for this project. After solving technical limitation, it should be possible not to simplify and improve the overall experience. This ticket is about making the installation easier, improving documentation, and mentioning self-hostable instance on seven23_website.

Redesign homepage

I agree redesign is quite a strong term since we start from northing 🀣.

Everything django is broken

It seems like everything related to django is pretty much broken (I do not have personal experience with django, I tried to fix it myself).

First error when executing python manage.py migrate:

django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

Second error when executing python manage.py migrate and add something like os.environ.setdefault("SECRET_KEY", "k3-=2r(yq-towhfr-$@am&p%ze_&1!m!n7h2p%6*=fn4nr$=d^") to manage.py:

django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

Toggle autosync fail

PATCh request on account return 404 not found.

curl 'https://api.seven23.io/api/v1/accounts/85cb16b9-d233-43ca-aa16-7ed4417974c4' -X PATCH -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Authorization: Token a...b' -H 'Origin: http://localhost:3000' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Referer: http://localhost:3000/' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: cross-site' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw '{"id":"85cb1db9-df53-43ba-aa26-7ed4417974c4","preferences":"e...w"}'

Return

* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< Server: nginx/1.21.3
< Date: Wed, 03 May 2023 17:12:16 GMT
< Content-Type: application/json
< Content-Length: 23
< Connection: keep-alive
< Vary: Accept, Origin
< Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
< X-Frame-Options: DENY
< Access-Control-Allow-Origin: *
< Sozu-Id: 01GZH9KD10CSBBNCTQRSJK7WSV
< 
* Connection #0 to host api.seven23.io left intact
{"detail":"Not found."}%

Create user on first installation

When a user deploy a new server instance, registration is by default disable. This create an issue as admin can't create a user account.

Admin could use superuser as user account but not sure that's a good idea. Would be better to implement an easy way to create the first account.

Currently, the administrator need to enable registration using ALLOW_ACCOUNT_CREATION global variable, create an account, then disable it. This issue is about simplifying that process.

One suggestion could be to implement a wizard and guide the user. This would only be enabled if server instance has just been installer, like having no user account for example.

Could also be an opportunity to improve the UX but providing context / informations.

INSTALL.rst: wrong path & cmd

There are two small bugs in the installation doc:

  • settings.py path ( 723e_server/django_723e/ )
  • run client cmd (grunt serve-dev)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.