Giter Club home page Giter Club logo

namviek's Introduction

App shot

Namviek is an open-source project manager for small teams with low budget. It includes essential features for running your team.


Who is this for ?

This project is a great fit for people with developer skills who are running a small team on a limited budget, similar to me. Read full the post

What tech stack I use

  • Next.js
  • Node.js
  • MongoDB
  • Redis

What features are packed in ?

As mentioned before, this app includes some essential features for a small team such as:

Features

How to use it.

Run with docker

$ cp .env.example .env.local
$ docker compose -f docker-compose.yml -f docker-compose.services.yml build
$ docker compose -f docker-compose.yml -f docker-compose.services.yml up

Why do I have docker-compose.services.yml file ? If you're a developer who want to contribute this app, but don't want to setup all services on the cloud, then this file will help you run all services (Redis, MongoDB, Minio) and you just have to install Nx and run the codebase

Run without docker

Additionally, check out the setup guide. If you encounter any errors during the setup process, you can refer to the full guide here.

Deployment

For easy deployment progress

Please visit the deployment guide before clicking on the following buttons

Deploy with Vercel

Deploy to Render

Support me

If you love this open source? Support its future on Ko-fi! Join the community of backers

namviek's People

Contributors

franciscojbrito avatar hudy9x avatar huypl53 avatar namnn9x avatar quangduy0709 avatar vanbeonhv 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

namviek's Issues

Feature: Add Deployment Workflow Buttons to README

Add deployment workflow buttons to the project's README file. These buttons will allow users to easily deploy the project to various cloud platforms such as DigitalOcean, Fly.io, Heroku, etc. Each cloud platform will have its own button, for example, a "Deploy to DigitalOcean" button.

Captura de pantalla 2024-06-13 a la(s) 14 04 08

No cached ProjectGraph is available.

I have been getting this error on Windows machine:

yarn frontend
yarn run v1.22.22
$ nx serve ui-app

> nx run ui-app:serve:development

- ready started server on 0.0.0.0:4200, url: http://localhost:4200
Error: [readCachedProjectGraph] ERROR: No cached ProjectGraph is available.
If you are leveraging \`readCachedProjectGraph()\` directly then you will need to refactor your usage to first ensure that
the ProjectGraph is created by calling \`await createProjectGraphAsync()\` somewhere before attempting to read the data.
If you encounter this error as part of running standard \`nx\` commands then please open an issue on https://github.com/nrwl/nx
    at readCachedProjectGraph (D:\Fun\WorkManager\namviek\node_modules\@nx\next\node_modules\nx\src\project-graph\project-graph.js:30:15)
    at findAllProjectNodeDependencies (D:\Fun\WorkManager\namviek\node_modules\@nx\next\node_modules\nx\src\utils\project-graph-utils.js:60:115)
    at D:\Fun\WorkManager\namviek\node_modules\@nx\next\plugins\with-nx.js:89:30
    at forNextVersion (D:\Fun\WorkManager\namviek\node_modules\@nx\next\plugins\with-nx.js:289:9)
    at D:\Fun\WorkManager\namviek\node_modules\@nx\next\plugins\with-nx.js:82:13
    at Generator.next (<anonymous>)
    at fulfilled (D:\Fun\WorkManager\namviek\node_modules\tslib\tslib.js:166:62)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  type: 'Error'
}
 >  NX   Next.js app exited with code 1
   Pass --verbose to see the stacktrace.

Allow users edit the view

For now, the view can only created and there's no way to update it's filter by deleting it and re-create a new one. So, add an update function in which user can update filters, ...
image

Responsive problem in landing page

Describe the bug
The responsive may not be the main features of this project, but as a user for a first time opening a landing page in mobile devices this is very terrible.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://www.namviek.com with mobiles size
  2. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

Desktop (please complete the following information):

  • OS: Window
  • Browser Edge
  • Version Latest

Additional context
This problem is a very simple, if you do not have time, I can open a PR to resolve this.

Provide more info about the configuration and installation for self hosted

  1. Created a Linux server
  2. Installed node, redis, mongo
  3. Created Firebase project
  4. Installed the software
  5. configure in the env partial because there is missing information about following parameters :
  • NEXT_PUBLIC_PUSHER_INSTANCE_ID= ?
  • PUSHER_INSTANCE_ID= I used this one with the data from pusher.
  • FIREBASE_CLIENT_EMAIL= ?
  • FIREBASE_PRIVATE_KEY= I put a path to the json file with admin key (please confirm)
  • NEXT_PUBLIC_FIREBASE_CLIENT_CONFIG=?

After all of it, I am still getting the error :
"Firebase admin missing configuration"
The path is correct, I enabled Authentication in the Firebase project but still have this error.

Please advice.

Feature: Make it all selfhost with mongodb

Hello,

I am happy to see the recent docker-compose update that allows people to spin up their own namviek server and play with it. However, as the MongoDB connection has hardcoded with cluster0.wd3az.mongodb.net and there is no mongodb in the docker-compose.yml.

Thus, I am writing this feature request as a reference, and I am working on making it fully selfhost with the mongo docker setup. I will stay tune on this issue post.

some features to be considered

1- sending email to assignees when task is created/updated or they are assigned to an exisiting task.
2- assign multiple asignees to one task

thanks for your efforts, the project is really good!

Improve status setting

Actual

Navigate to Project > Settings > Status.
User can not see the type of status, but only see name.

Screenshot 2024-06-14 at 16 39 25

Expectation:

Show the type of statsus (Ex: Todo, inprogress, done) in a group or on the right side.
Notice that, we also have type field in schema. So we just update the view.

image

Consider switching the backend from Node.js to Bun.js or Golang

Issue

Currently, the backend is Node.js. I found that, it take a lot of memory in development mode and think it would do the same thing on production. And the packaged image is too large (>2GB)

Solution

So, let's take a look at Bun.js and Golang for an alternatives.

Study

Tried Golang from a fews month ago, it's super fast and the code is pretty familiar with javascript. However, It doesn't have Class and I will have to migrate all code structure.

Bun.js is the next option. I can use Honojs. Let's do the investigation next week.

Daily summary report

Namviek don't have a place that displays total statistic report for all member or project by month.
In order to implement this screen, we firstly need to collect done tasks or undone tasks by day in a month
It's similar to the burn down and burn up chart feature that was implemented before. But that feature didn't work properly

So, use materialized view in mongodb to collect data by day and save it to a specified collection
Refer this article

Related pr #207

Redis - wrong number of arguments for 'hset'

Describe the bug
When signing in after seeding the default user, yarn:backend shows the error

 🥝 POST: /auth/sign-in
service get user by id error ReplyError: ERR wrong number of arguments for 'hset' command
    at parseError (/home/{...}/namviek/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/home/{...}/namviek/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'hset', args: [ '[email protected]', '' ] }
}

Redis 7.2.4

Bug response on mobile redmi note 7

Describe the bug
I use a redmi note 7 phone to use your website on chrome browser. And noticed that the interface had a format error. I hope my contribution brings something positive.

Screenshots
Screenshot_20240608-201405_Trình chạy Pixel.png

Smartphone

  • Device: Xiaomi Redmi Note 7
  • Browser: Chrome

Turbocharged with AI

Turbocharged the app with AI

1/ AI Research
Never start new task from scratch. AI gathers useful resources.

2/ Subtask Generation
Split complex tasks into smaller, more manageable subtasks.

3/ Description Generation
Summarize and elaborate your task description.

4/ Automatic Scheduling
Split complex tasks into smaller, more manageable subtasks.

5/ Duration Estimation
Split complex tasks into smaller, more manageable subtasks.

6/ Cleaning & Organization
AI sorts your task inbox, keeping it relevant and oraganized.

image

Discord link?

Hey -- your website for this asks people to join your Discord, but the link doesn't work. Can you hook me up? 😃

too large image?

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

some bugs to be fixed

1- when set date to "Not set" it should bring all tasks, but it doesn't show anything.
2- when file is uploaded and the task cover is update, then file is deleted.. the cover should also deleted.

Rebuild Report page

Previous version only show total of task, but i can not provide filters for days, weeks, months.

image

So replace it to a new one.
The new UI should allows:

  • Filter by week, month. No need day filter
  • Display undone tasks for one or all projects in organization by filters (week, month)
  • View done tasks each member in one/all projects by filters

Refer design: https://dribbble.com/shots/21992874-Call-Analytics-Dashboard-Design

image

Make website Responsive

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

when we view this website on mobile, it is not responsive most tools like Jira are responsive, it's easier to operate small things quicker via phone.

Describe the solution you'd like
A clear and concise description of what you want to happen.
website should be responsive to work on all screen devices delivering quality UX.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
if not responsive, we should block users from using this website by putting up a banner that shows that currently, we operate on a big screen only, at least giving a direction to the user.

Additional context
Add any other context or screenshots about the feature request here.
Screenshot 2024-05-21 182432

Tích hợp auth0

Tìm hiểu auth0 và tích hợp vào packages/be-gateway

  • cách tạo user
  • cách đăng nhập
  • cách xác thực user
  • cách tạo token - phục vụ cho việc 1 ứng dụng khác muốn truy cập vào app của mình

Lưu ý:

  • Tích hợp thông qua nodejs, nghĩa là phía backend.
  • KHÔNG TÍCH HỢP QUA NEXTJS
  • việc kiểm tra và phân quyền dưới frontend sẽ tự viết dựa vào việc tìm hiểu auth0 ở trên
    nếu ko thực hiện được thì trao đổi lại với team

Firebase google sign in

Describe the bug
when trying to sign in using Google, sometimes it works but sometimes it gives me

Firebase: Error (auth/popup-closed-by-user)
(obviously I don't close it)

and sometimes it gives
Axios Error: Network Error or Your email or password is invalid

it works locally ok, but on vercel not I guess, even if I added the domain to firebase.

To Reproduce
Steps to reproduce the behavior:

  1. clone
  2. follow installation instructions
  3. set up new firebase project
  4. set the env variable
  5. deploy on vercel

Expected behavior
login without any issues

Lỗi không gửi, nhận thông báo với pusher

Mô tả
Tôi bị lỗi thông báo với pusher như dưới, có vẻ như đó là một lỗi trong code.

backend | /app/node_modules/@pusher/push-notifications-server/push-notifications.js:278
backend | new Error(
backend | ^
backend |
backend |
backend | Error: 422 Unprocessable Entity - users: array items must be unique
backend | at IncomingMessage. (/app/node_modules/@pusher/push-notifications-server/push-notifications.js:278:33)
backend | at IncomingMessage.emit (node:events:531:35)
backend | at endReadableNT (node:internal/streams/readable:1696:12)
backend | at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

Môi trường
Tôi sử dụng docker compose của dự án và không chỉnh sửa.

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.