Christmas gift planner is a collaborative platform designed to facilitate the sharing of gift ideas among family members or groups of friends while maintaining the element of surprise.
Our project, Christmas Gifts Planner, is a collaborative effort by a team of 4 individuals undergoing training as web developer designers. The project aims to facilitate members of a family or group of friends to discuss gift ideas without seeing what others are preparing for them. A dedicated discussion thread would be allocated to each member, enabling other members to exchange individual or collective gift ideas.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Before you begin, ensure you have met the following requirements:
Docker installed
Node.js installed
PostgreSQL installed
- Clone the repository:
git clone https://github.com/WildCodeSchool/2023-11-wns-bleu-g2.git
- Navigate to the project directory:
cd backend
- Create a .env file in the root directory and fill it with necessary environment variables:
# Example .env file
DATABASE_URL=postgres://username:password@localhost:5432/database_name
- Start the development server with Docker Compose:
docker-compose up --build
- Open your browser and navigate to http://localhost:3000 to view the application.
To run the backend tests, navigate to the backend
directory and execute:
cd backend
npm run test
This command runs the Jest test suite for the backend. It checks functionality like user profiles and user creation, ensuring all tests pass successfully.
To run the frontend tests, navigate to the frontend
directory and execute:
cd frontend
npm run test
This command runs the Jest test suite for the frontend, ensuring that components render correctly.
To run the end-to-end (E2E) tests, follow these steps:
- Navigate to the
e2e-tests
directory:
cd e2e-tests
- Install the required Playwright browsers
npx playwright install:
- Start the application using Docker:
npm run app:start
- Run the tests:
npm run test
- To view the test report:
npx playwright show-report
The npm run lint
command runs the next lint
script, which checks the code for potential errors and enforces coding standards using ESLint. This helps maintain code quality and consistency across the project.
To run the linting tests, use the following commands:
cd frontend
npm run lint
- GraphQL - Query Language
- Apollo Server - GraphQL Server
- NodeJs - Server Environment
- PostgreSQL - Database
- TypeORM - ORM for TypeScript
- Next.js - React Framework & contributor
- React - JavaScript Library
- Apollo Client - GraphQL Client
- Docker - Containerization Platform
This project was developed by the following contributors:
- @AlexandreRichert - Idea, Initial work & contributor
- @alon-bendavid - Idea, Initial work & contributor
- @Fangornito - Idea, Initial work & contributor
- @Jasminegrz - Idea, Initial work & contributor
For more details on each contributor’s activity, visit the contributors page
- Hat tip to anyone whose code was used
- A big thank you to Wild Code School for their support and guidance throughout our training. Their trainers and community helped us acquire the skills needed to successfully complete this project.