Selffy is a comprehensive platform designed to help you manage all your personal and professional freelance projects seamlessly in one place. With Selffy, you can streamline your workflow, stay organized, and efficiently track your progress, ensuring you never miss a deadline.
🚧 Selffy is under development 🚧
React
VITE
Typescript
Shadcn/UI
TailwindCSS
Nest.Js
Prisma ORM
PostgreSQL
Docker
Clone the repository: https://github.com/arthurmousinho/selffy.git
- Go to api folder:
cd api
- Install dependencies:
npm install
- Run docker container:
docker-compose up -d
- Create a .env file in the root of the project and add the following variables:
DATABASE_URL="postgresql://docker:docker@localhost:5432/selffy-db"
JWT_SECRET="secret"
- Add the migrations:
npx prisma migrate dev
- Run the API:
npm run dev
- ✅ The API will be running on http://localhost:3000
- 📖 The Swagger documentation will be available at http://localhost:3000/docs/swagger
- 💡 By initial (your database will be empty), the api will run the seeders scripts, creating mock users, projects, tasks, costs and the roles.You can use the following admin credentials to login in development mode: email admin@selffy.com and password admin123
- Go to web folder:
cd web
- Install dependencies:
npm install
- Create a .env.local file in the root of the project and add the following variables:
VITE_API_BASE_URL="http://localhost:3000"
- Run the project:
npm run dev
- ✅ The web app will be running on http://localhost:5173
- It should be able to authenticate a user using e-mail & password;
- It should be able to create a user;
- It should be able to update a user;
- It should be able to delete a user;
- It should be able to list all users;
- It should be able to get a user by id;
- It should be able to count the number of users;
- It should be able to search users by name;
- It should be able to get the users insights;
- It should be able to get the users growth (monthly, weekly, daily);
- It should be able to create a project;
- It should be able to update a project;
- It should be able to delete a project;
- It should be able to list all projects;
- It should be able to get a project by id;
- It should be able to count the number of projects;
- It should be able to count the number of projects by status;
- It should be able to get the projects growth (monthly, weekly, daily);
- It should be able to get the projects total revenue;
- It should be able to search projects by title;
- It should be able to get the projects insights;
- It should be able to create a task;
- It should be able to update a task;
- It should be able to delete a task;
- It should be able to list all tasks;
- It should be able to get a task by id;
- It should be able to count the number of tasks;
- It should be able to count the number of tasks by status;
- It should be able to count the number of tasks by priority;
- It should be able to get the tasks growth (monthly, weekly, daily);
- It should be able to get the tasks insights;
- It should be able to search tasks by title;
- It should be able to create a cost;
- It should be able to update a cost;
- It should be able to delete a cost;
- It should be able to list all costs;
- It should be able to get a cost by id;
- It should be able to count the number of costs;
- It should be able to get the costs growth (monthly, weekly, daily);
- It should be able to get the costs insights;
- It should be able to search costs by title;
- It should be able to get the costs total value;
Admin
Free
Free
Admin | Free | Premium | |
---|---|---|---|
Access Admin Dashboard | ✅ | ❌ | ❌ |
Access User Dashboard | ✅ | ✅ | ✅ |
Create User | ✅ | ||
Update User | ✅ | ||
Delete User | ✅ | ||
List Users | ✅ | ❌ | ❌ |
Search Users | ✅ | ❌ | ❌ |
Access Project Insights | ✅ | ✅ | ✅ |
Create Project | ✅ | ✅ | |
Update Project | ✅ | ||
Delete Project | ✅ | ||
Search Projects | ✅ | ❌ | ❌ |
Access Task Insights | ✅ | ||
Create Task | ✅ | ||
Update Task | ✅ | ||
Delete Task | ✅ | ||
View Costs Insights | ✅ | ||
Add Costs | ✅ | ||
Update Costs | ✅ | ||
Delete Costs | ✅ |
✅ = allowed
❌ = not allowed
⚠️ = allowed with limitations or specific conditions
Free
: Can only create 5 projects.Premium
: Can create unlimited projects.Free
Premium
: Can only do actions related to themselves. Ex: Can update their user profile, but can't update other users profiles.