A secure password management application designed to simplify password storage and enhance security. Developed during a January 2025 internship at OTC.
- Secure password storage using AES-256 encryption.
- Role-based access control for managing user permissions.
- User-friendly interface for adding, viewing, editing, and deleting passwords.
- Detailed logging of application activity.
- Master account functionality for initial setup and user management.
- Full-Stack Framework: Next.js (https://nextjs.org/)
- Backend: Express.js (https://expressjs.com/)
- Database: PostgreSQL (https://www.postgresql.org/)
- ORM: Prisma (https://www.prisma.io/)
- Security: CryptoJS (https://cryptojs.gitbook.io/cryptojs/)
- Clone the repository:
git clone https://github.com/NotMatta/internship-project.git
- Navigate to the project directory:
cd internship-project
- Install dependencies:
npm install
(oryarn install
) - Set up environment variables:
- Create a
.env
file in the root directory. - Set the following variables:
DATABASE_URL
: The URL for your PostgreSQL database.SECRET
: A secret key for encrypting passwords.JWT_SECRET
: A secret key for encrypting JWT tokens.MASTER_PASSWORD
: The initial password for the master account.
- Create a
- Prepare the database:
npx prisma migrate dev
(ornpx prisma db push
for development) - Generate the master account:
npm run generate_master
- Run the development server:
npm run dev
(oryarn dev
)
- Log in using the master account:
- Email:
master@master
- Password: The value you set for
MASTER_PASSWORD
in the.env
file.
- Email:
- Create roles and users through the administrative interface.
- Assign roles to users.
- Start using the password manager.
- Monitor application activity through the logs.
This project is not open to contributions as it is archived.
Archived. This project is no longer being actively developed or maintained.
MIT License